cctally 1.35.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,16 @@ based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [1.37.0] - 2026-06-11
9
+
10
+ ### Added
11
+ - Conversation viewer: Claude Code's live to-do tools (`TaskCreate`/`TaskUpdate`/`TaskList`) now render as a single checklist card with a progress bar — the same card the retired `TodoWrite` used — reconstructed at read time from the create/update/delete stream so the task list evolves turn by turn, instead of separate raw JSON tool chips. Additive; the legacy `TodoWrite` path is unchanged and no database migration is required.
12
+
13
+ ## [1.36.0] - 2026-06-11
14
+
15
+ ### Added
16
+ - Conversation viewer: AskUserQuestion, TodoWrite, and ExitPlanMode now render as dedicated cards — the question-and-chosen-answer, a live checklist with progress, and the rendered plan with its approve/reject outcome — instead of raw JSON tool chips (#177 S2).
17
+
8
18
  ## [1.35.0] - 2026-06-11
9
19
 
10
20
  ### Added
@@ -104,6 +104,8 @@ def _normalize(obj, t, offset):
104
104
  elif any(b["kind"] == "tool_result" for b in blocks):
105
105
  entry_type = TOOL_RESULT
106
106
  _attach_subagent_result(blocks, obj) # #166: record-level toolUseResult
107
+ _attach_ask_answers(blocks, obj) # #177 S2: AskUserQuestion answers
108
+ _attach_task_meta(blocks, obj) # task checklist identity
107
109
  # tool_result rows are stored but NOT indexed as prose (spec §2). A
108
110
  # user line that mixes a text block with a tool_result block must not
109
111
  # leak that text into the FTS index; the full content stays in
@@ -249,6 +251,84 @@ def _attach_subagent_result(blocks, obj):
249
251
  block["subagent_meta"] = meta
250
252
 
251
253
 
254
+ def _attach_ask_answers(blocks, obj):
255
+ """Stash an AskUserQuestion's structured answers (+ annotations) onto its
256
+ single tool_result block (#177 S2), so the chosen option(s) have a robust
257
+ source the client can highlight without parsing the harness result string.
258
+ Self-identifying: fires only when toolUseResult carries an ``answers`` dict
259
+ (a key distinctive to AskUserQuestion), so no cross-record tool-name lookup
260
+ is needed. Same exactly-one-result-block guard as _attach_subagent_result.
261
+
262
+ answers/annotations are BOUNDED through _bound_input before storage — a
263
+ free-form "Other" answer or a long annotation note is attacker-controlled
264
+ free text, and every other free-text payload in this parser is capped
265
+ before it reaches blocks_json. Reusing _bound_input applies the same
266
+ five-axis cap (leaf/key/node/depth/total). The bound's truncation flag is
267
+ intentionally NOT surfaced (no answer-level "truncated" affordance — a
268
+ >8000-char option answer is not a realistic shape; the cap is a backstop).
269
+
270
+ An EMPTY answers dict is treated as no-capture (symmetric with the empty-
271
+ annotations drop below): emitting ``ask_answers={}`` would set a falsy
272
+ ``answers`` on the tool_call and suppress the client's result-text
273
+ fallback, so a degenerate empty payload must no-op here instead."""
274
+ tur = obj.get("toolUseResult")
275
+ if not isinstance(tur, dict):
276
+ return
277
+ answers = tur.get("answers")
278
+ if not isinstance(answers, dict) or not answers: # require a non-empty dict
279
+ return
280
+ results = [b for b in blocks if b.get("kind") == "tool_result"]
281
+ if len(results) != 1:
282
+ return
283
+ bounded_ans, _ = _bound_input(answers)
284
+ results[0]["ask_answers"] = bounded_ans
285
+ anno = tur.get("annotations")
286
+ if isinstance(anno, dict) and anno:
287
+ bounded_anno, _ = _bound_input(anno)
288
+ results[0]["ask_annotations"] = bounded_anno
289
+
290
+
291
+ def _attach_task_meta(blocks, obj):
292
+ """Stash a Task* tool's record-level identity onto its single tool_result
293
+ block so the query-kernel fold has a robust id (NOT a result-string parse).
294
+ Task ids are monotonic + never reused, so the explicit id is the only stable
295
+ fold key. Self-identifying by toolUseResult shape:
296
+ TaskCreate -> {"task": {"id": ...}} -> block["task_id"]
297
+ TaskUpdate -> {"taskId": ...} -> block["task_id"]
298
+ TaskList -> {"tasks": [{id,subject,status}]} -> block["task_list"]
299
+ Same exactly-one-result-block guard as _attach_subagent_result. Subjects
300
+ bounded through _bound_input.
301
+
302
+ The ``task.id`` (not ``task.task_id``) gate deliberately ignores the
303
+ look-alike local_bash spawn result {"task": {"task_id": ..., ...}}, which is
304
+ a different tool family and carries no checklist id."""
305
+ tur = obj.get("toolUseResult")
306
+ if not isinstance(tur, dict):
307
+ return
308
+ results = [b for b in blocks if b.get("kind") == "tool_result"]
309
+ if len(results) != 1:
310
+ return
311
+ block = results[0]
312
+ task = tur.get("task")
313
+ if isinstance(task, dict) and task.get("id") is not None:
314
+ block["task_id"] = str(task["id"])
315
+ return
316
+ if tur.get("taskId") is not None:
317
+ block["task_id"] = str(tur["taskId"])
318
+ return
319
+ tasks = tur.get("tasks")
320
+ if isinstance(tasks, list):
321
+ snap = []
322
+ for t in tasks:
323
+ if not isinstance(t, dict) or t.get("id") is None:
324
+ continue
325
+ bounded, _ = _bound_input({"subject": t.get("subject") or ""})
326
+ snap.append({"id": str(t["id"]),
327
+ "subject": bounded.get("subject", ""),
328
+ "status": t.get("status") or "pending"})
329
+ block["task_list"] = snap
330
+
331
+
252
332
  def _stringify(c):
253
333
  if isinstance(c, str):
254
334
  return c
@@ -483,6 +483,8 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
483
483
  # spawn tool_use id <-> tool_result tool_use_id; agent_id == subagent_key.
484
484
  spawn_kind = {} # tool_use id -> subagent_type
485
485
  agent_link = {} # tool_use id -> (agent_id, raw_meta)
486
+ ask_link = {} # tool_use id -> (answers, annotations) (#177 S2)
487
+ task_link = {} # tool_use id -> {"task_id", "task_list"} (Task* checklist)
486
488
  for it in items:
487
489
  for b in it["blocks"]:
488
490
  k = b.get("kind")
@@ -495,6 +497,14 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
495
497
  meta = b.pop("subagent_meta", None)
496
498
  if aid and b.get("tool_use_id") is not None:
497
499
  agent_link[b["tool_use_id"]] = (aid, meta or {})
500
+ ans = b.pop("ask_answers", None) # #177 S2
501
+ anno = b.pop("ask_annotations", None)
502
+ if ans is not None and b.get("tool_use_id") is not None:
503
+ ask_link[b["tool_use_id"]] = (ans, anno)
504
+ tid_ = b.pop("task_id", None) # Task* checklist
505
+ tlist_ = b.pop("task_list", None)
506
+ if b.get("tool_use_id") is not None and (tid_ is not None or tlist_ is not None):
507
+ task_link[b["tool_use_id"]] = {"task_id": tid_, "task_list": tlist_}
498
508
  subagent_meta = {}
499
509
  for _tuid, _kind in spawn_kind.items():
500
510
  _link = agent_link.get(_tuid)
@@ -553,6 +563,14 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
553
563
  b["kind"] = "tool_call"
554
564
  b["tool_use_id"] = b.pop("id", None)
555
565
  b.setdefault("result", None)
566
+ link = ask_link.get(b["tool_use_id"]) # #177 S2
567
+ if link is not None:
568
+ b["answers"] = link[0]
569
+ if link[1]:
570
+ b["annotations"] = link[1]
571
+
572
+ # ---- Phase 3b: fold the Task* op stream into per-run checklist snapshots ----
573
+ _fold_task_runs(items, task_link)
556
574
 
557
575
  # ---- Phase 4: classify injected meta items (skill / command / context) ----
558
576
  # `meta` rows (the parser's isMeta classification) AND — only while the 005
@@ -687,6 +705,68 @@ def get_conversation(conn, session_id, *, after=None, limit=500):
687
705
  }
688
706
 
689
707
 
708
+ _TASK_TRIO = ("TaskCreate", "TaskUpdate", "TaskList")
709
+
710
+
711
+ def _fold_task_runs(items, task_link):
712
+ """Reconstruct the running to-do list from the chronological Task* op stream
713
+ and stamp the resulting todos[] snapshot onto the FIRST tool_call of each
714
+ Task* run. State spans the whole session; key on the explicit task id (never
715
+ reused). `deleted` drops a task; a TaskList result reseeds the whole snapshot.
716
+
717
+ Mirrors the ask_answers join: the parser stashed the record-level identity
718
+ onto the tool_result block, the Phase-1 sweep popped it into ``task_link``
719
+ keyed by tool_use_id, and this fold joins it back. The frontend stays a pure
720
+ todos[] renderer — all running-list state lives here."""
721
+ order = []
722
+ state = {}
723
+
724
+ def snapshot():
725
+ return [dict(content=state[i]["content"], status=state[i]["status"],
726
+ **({"activeForm": state[i]["activeForm"]} if state[i].get("activeForm") else {}))
727
+ for i in order if i in state]
728
+
729
+ for it in items:
730
+ if it.get("kind") != "assistant":
731
+ continue
732
+ first_task_call = None
733
+ for b in it["blocks"]:
734
+ if b.get("kind") != "tool_call" or b.get("name") not in _TASK_TRIO:
735
+ continue
736
+ if first_task_call is None:
737
+ first_task_call = b
738
+ link = task_link.get(b.get("tool_use_id")) or {}
739
+ inp = b.get("input") if isinstance(b.get("input"), dict) else {}
740
+ name = b["name"]
741
+ if name == "TaskCreate":
742
+ tid = link.get("task_id")
743
+ if tid is not None:
744
+ if tid not in state:
745
+ order.append(tid)
746
+ state[tid] = {"content": inp.get("subject") or "", "status": "pending",
747
+ "activeForm": inp.get("activeForm") or ""}
748
+ elif name == "TaskUpdate":
749
+ tid = str(inp.get("taskId")) if inp.get("taskId") is not None else link.get("task_id")
750
+ status = inp.get("status")
751
+ if tid is not None:
752
+ if status == "deleted":
753
+ state.pop(tid, None)
754
+ elif tid in state and status:
755
+ state[tid]["status"] = status
756
+ elif name == "TaskList":
757
+ snap = link.get("task_list")
758
+ if snap is not None:
759
+ order = []
760
+ state = {}
761
+ for t in snap:
762
+ tid = t["id"]
763
+ order.append(tid)
764
+ state[tid] = {"content": t.get("subject") or "",
765
+ "status": t.get("status") or "pending", "activeForm": ""}
766
+ if first_task_call is not None:
767
+ first_task_call["task_snapshot"] = snapshot()
768
+
769
+
690
770
  def _latest(logical, col):
691
771
  """Most-recent non-null value in a column across the session (project/branch
692
772
  show the latest, matching the dashboard's session posture)."""
@@ -45,13 +45,15 @@ Error generating stack: `+e.message+`
45
45
  `,inConstruct:`tableCell`},{atBreak:!0,character:`|`,after:`[ :-]`},{character:`|`,inConstruct:`tableCell`},{atBreak:!0,character:`:`,after:`-`},{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{inlineCode:f,table:o,tableCell:c,tableRow:s}};function o(e,t,n,r){return l(u(e,n,r),e.align)}function s(e,t,n,r){let i=l([d(e,n,r)]);return i.slice(0,i.indexOf(`
46
46
  `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a});return o(),i(),s}function l(e,t){return y_(e,{align:t,alignDelimiters:r,padding:n,stringLength:i})}function u(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`table`);for(;++i<r.length;)a[i]=d(r[i],t,n);return o(),a}function d(e,t,n){let r=e.children,i=-1,a=[],o=t.enter(`tableRow`);for(;++i<r.length;)a[i]=c(r[i],e,t,n);return o(),a}function f(e,t,n){let r=gv.inlineCode(e,t,n);return n.stack.includes(`tableCell`)&&(r=r.replace(/\|/g,`\\$&`)),r}}function Ev(){return{exit:{taskListCheckValueChecked:Ov,taskListCheckValueUnchecked:Ov,paragraph:kv}}}function Dv(){return{unsafe:[{atBreak:!0,character:`-`,after:`[:|-]`}],handlers:{listItem:Av}}}function Ov(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type===`taskListCheckValueChecked`}function kv(e){let t=this.stack[this.stack.length-2];if(t&&t.type===`listItem`&&typeof t.checked==`boolean`){let e=this.stack[this.stack.length-1];e.type;let n=e.children[0];if(n&&n.type===`text`){let r=t.children,i=-1,a;for(;++i<r.length;){let e=r[i];if(e.type===`paragraph`){a=e;break}}a===e&&(n.value=n.value.slice(1),n.value.length===0?e.children.shift():e.position&&n.position&&typeof n.position.start.offset==`number`&&(n.position.start.column++,n.position.start.offset++,e.position.start=Object.assign({},n.position.start)))}}this.exit(e)}function Av(e,t,n,r){let i=e.children[0],a=typeof e.checked==`boolean`&&i&&i.type===`paragraph`,o=`[`+(e.checked?`x`:` `)+`] `,s=n.createTracker(r);a&&s.move(o);let c=gv.listItem(e,t,n,{...r,...s.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,l)),c;function l(e){return e+o}}function jv(){return[Lg(),s_(),f_(),_v(),Ev()]}function Mv(e){return{extensions:[Rg(),c_(e),p_(),Tv(e),Dv()]}}var Nv={tokenize:qv,partial:!0},Pv={tokenize:Jv,partial:!0},Fv={tokenize:Yv,partial:!0},Iv={tokenize:Xv,partial:!0},Lv={tokenize:Zv,partial:!0},Rv={name:`wwwAutolink`,tokenize:Gv,previous:Qv},zv={name:`protocolAutolink`,tokenize:Kv,previous:$v},Bv={name:`emailAutolink`,tokenize:Wv,previous:ey},Vv={};function Hv(){return{text:Vv}}for(var Uv=48;Uv<123;)Vv[Uv]=Bv,Uv++,Uv===58?Uv=65:Uv===91&&(Uv=97);Vv[43]=Bv,Vv[45]=Bv,Vv[46]=Bv,Vv[95]=Bv,Vv[72]=[Bv,zv],Vv[104]=[Bv,zv],Vv[87]=[Bv,Rv],Vv[119]=[Bv,Rv];function Wv(e,t,n){let r=this,i,a;return o;function o(t){return!ty(t)||!ey.call(r,r.previous)||ny(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkEmail`),s(t))}function s(t){return ty(t)?(e.consume(t),s):t===64?(e.consume(t),c):n(t)}function c(t){return t===46?e.check(Lv,u,l)(t):t===45||t===95||Rd(t)?(a=!0,e.consume(t),c):u(t)}function l(t){return e.consume(t),i=!0,c}function u(o){return a&&i&&Ld(r.previous)?(e.exit(`literalAutolinkEmail`),e.exit(`literalAutolink`),t(o)):n(o)}}function Gv(e,t,n){let r=this;return i;function i(t){return t!==87&&t!==119||!Qv.call(r,r.previous)||ny(r.events)?n(t):(e.enter(`literalAutolink`),e.enter(`literalAutolinkWww`),e.check(Nv,e.attempt(Pv,e.attempt(Fv,a),n),n)(t))}function a(n){return e.exit(`literalAutolinkWww`),e.exit(`literalAutolink`),t(n)}}function Kv(e,t,n){let r=this,i=``,a=!1;return o;function o(t){return(t===72||t===104)&&$v.call(r,r.previous)&&!ny(r.events)?(e.enter(`literalAutolink`),e.enter(`literalAutolinkHttp`),i+=String.fromCodePoint(t),e.consume(t),s):n(t)}function s(t){if(Ld(t)&&i.length<5)return i+=String.fromCodePoint(t),e.consume(t),s;if(t===58){let n=i.toLowerCase();if(n===`http`||n===`https`)return e.consume(t),c}return n(t)}function c(t){return t===47?(e.consume(t),a?l:(a=!0,c)):n(t)}function l(t){return t===null||Bd(t)||Wd(t)||Kd(t)||Gd(t)?n(t):e.attempt(Pv,e.attempt(Fv,u),n)(t)}function u(n){return e.exit(`literalAutolinkHttp`),e.exit(`literalAutolink`),t(n)}}function qv(e,t,n){let r=0;return i;function i(t){return(t===87||t===119)&&r<3?(r++,e.consume(t),i):t===46&&r===3?(e.consume(t),a):n(t)}function a(e){return e===null?n(e):t(e)}}function Jv(e,t,n){let r,i,a;return o;function o(t){return t===46||t===95?e.check(Iv,c,s)(t):t===null||Wd(t)||Kd(t)||t!==45&&Gd(t)?c(t):(a=!0,e.consume(t),o)}function s(t){return t===95?r=!0:(i=r,r=void 0),e.consume(t),o}function c(e){return i||r||!a?n(e):t(e)}}function Yv(e,t){let n=0,r=0;return i;function i(o){return o===40?(n++,e.consume(o),i):o===41&&r<n?a(o):o===33||o===34||o===38||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===60||o===63||o===93||o===95||o===126?e.check(Iv,t,a)(o):o===null||Wd(o)||Kd(o)?t(o):(e.consume(o),i)}function a(t){return t===41&&r++,e.consume(t),i}}function Xv(e,t,n){return r;function r(o){return o===33||o===34||o===39||o===41||o===42||o===44||o===46||o===58||o===59||o===63||o===95||o===126?(e.consume(o),r):o===38?(e.consume(o),a):o===93?(e.consume(o),i):o===60||o===null||Wd(o)||Kd(o)?t(o):n(o)}function i(e){return e===null||e===40||e===91||Wd(e)||Kd(e)?t(e):r(e)}function a(e){return Ld(e)?o(e):n(e)}function o(t){return t===59?(e.consume(t),r):Ld(t)?(e.consume(t),o):n(t)}}function Zv(e,t,n){return r;function r(t){return e.consume(t),i}function i(e){return Rd(e)?n(e):t(e)}}function Qv(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Wd(e)}function $v(e){return!Ld(e)}function ey(e){return!(e===47||ty(e))}function ty(e){return e===43||e===45||e===46||e===95||Rd(e)}function ny(e){let t=e.length,n=!1;for(;t--;){let r=e[t][1];if((r.type===`labelLink`||r.type===`labelImage`)&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var ry={tokenize:dy,partial:!0};function iy(){return{document:{91:{name:`gfmFootnoteDefinition`,tokenize:cy,continuation:{tokenize:ly},exit:uy}},text:{91:{name:`gfmFootnoteCall`,tokenize:sy},93:{name:`gfmPotentialFootnoteCall`,add:`after`,tokenize:ay,resolveTo:oy}}}}function ay(e,t,n){let r=this,i=r.events.length,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o;for(;i--;){let e=r.events[i][1];if(e.type===`labelImage`){o=e;break}if(e.type===`gfmFootnoteCall`||e.type===`labelLink`||e.type===`label`||e.type===`image`||e.type===`link`)break}return s;function s(i){if(!o||!o._balanced)return n(i);let s=Id(r.sliceSerialize({start:o.end,end:r.now()}));return s.codePointAt(0)!==94||!a.includes(s.slice(1))?n(i):(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(i),e.exit(`gfmFootnoteCallLabelMarker`),t(i))}}function oy(e,t){let n=e.length;for(;n--;)if(e[n][1].type===`labelImage`&&e[n][0]===`enter`){e[n][1];break}e[n+1][1].type=`data`,e[n+3][1].type=`gfmFootnoteCallLabelMarker`;let r={type:`gfmFootnoteCall`,start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},i={type:`gfmFootnoteCallMarker`,start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};i.end.column++,i.end.offset++,i.end._bufferIndex++;let a={type:`gfmFootnoteCallString`,start:Object.assign({},i.end),end:Object.assign({},e[e.length-1][1].start)},o={type:`chunkString`,contentType:`string`,start:Object.assign({},a.start),end:Object.assign({},a.end)},s=[e[n+1],e[n+2],[`enter`,r,t],e[n+3],e[n+4],[`enter`,i,t],[`exit`,i,t],[`enter`,a,t],[`enter`,o,t],[`exit`,o,t],[`exit`,a,t],e[e.length-2],e[e.length-1],[`exit`,r,t]];return e.splice(n,e.length-n+1,...s),e}function sy(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a=0,o;return s;function s(t){return e.enter(`gfmFootnoteCall`),e.enter(`gfmFootnoteCallLabelMarker`),e.consume(t),e.exit(`gfmFootnoteCallLabelMarker`),c}function c(t){return t===94?(e.enter(`gfmFootnoteCallMarker`),e.consume(t),e.exit(`gfmFootnoteCallMarker`),e.enter(`gfmFootnoteCallString`),e.enter(`chunkString`).contentType=`string`,l):n(t)}function l(s){if(a>999||s===93&&!o||s===null||s===91||Wd(s))return n(s);if(s===93){e.exit(`chunkString`);let a=e.exit(`gfmFootnoteCallString`);return i.includes(Id(r.sliceSerialize(a)))?(e.enter(`gfmFootnoteCallLabelMarker`),e.consume(s),e.exit(`gfmFootnoteCallLabelMarker`),e.exit(`gfmFootnoteCall`),t):n(s)}return Wd(s)||(o=!0),a++,e.consume(s),s===92?u:l}function u(t){return t===91||t===92||t===93?(e.consume(t),a++,l):l(t)}}function cy(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),a,o=0,s;return c;function c(t){return e.enter(`gfmFootnoteDefinition`)._container=!0,e.enter(`gfmFootnoteDefinitionLabel`),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),l}function l(t){return t===94?(e.enter(`gfmFootnoteDefinitionMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionMarker`),e.enter(`gfmFootnoteDefinitionLabelString`),e.enter(`chunkString`).contentType=`string`,u):n(t)}function u(t){if(o>999||t===93&&!s||t===null||t===91||Wd(t))return n(t);if(t===93){e.exit(`chunkString`);let n=e.exit(`gfmFootnoteDefinitionLabelString`);return a=Id(r.sliceSerialize(n)),e.enter(`gfmFootnoteDefinitionLabelMarker`),e.consume(t),e.exit(`gfmFootnoteDefinitionLabelMarker`),e.exit(`gfmFootnoteDefinitionLabel`),f}return Wd(t)||(s=!0),o++,e.consume(t),t===92?d:u}function d(t){return t===91||t===92||t===93?(e.consume(t),o++,u):u(t)}function f(t){return t===58?(e.enter(`definitionMarker`),e.consume(t),e.exit(`definitionMarker`),i.includes(a)||i.push(a),$(e,p,`gfmFootnoteDefinitionWhitespace`)):n(t)}function p(e){return t(e)}}function ly(e,t,n){return e.check(uf,t,e.attempt(ry,t,n))}function uy(e){e.exit(`gfmFootnoteDefinition`)}function dy(e,t,n){let r=this;return $(e,i,`gfmFootnoteDefinitionIndent`,5);function i(e){let i=r.events[r.events.length-1];return i&&i[1].type===`gfmFootnoteDefinitionIndent`&&i[2].sliceSerialize(i[1],!0).length===4?t(e):n(e)}}function fy(e){let t=(e||{}).singleTilde,n={name:`strikethrough`,tokenize:i,resolveAll:r};return t??=!0,{text:{126:n},insideSpan:{null:[n]},attentionMarkers:{null:[126]}};function r(e,t){let n=-1;for(;++n<e.length;)if(e[n][0]===`enter`&&e[n][1].type===`strikethroughSequenceTemporary`&&e[n][1]._close){let r=n;for(;r--;)if(e[r][0]===`exit`&&e[r][1].type===`strikethroughSequenceTemporary`&&e[r][1]._open&&e[n][1].end.offset-e[n][1].start.offset===e[r][1].end.offset-e[r][1].start.offset){e[n][1].type=`strikethroughSequence`,e[r][1].type=`strikethroughSequence`;let i={type:`strikethrough`,start:Object.assign({},e[r][1].start),end:Object.assign({},e[n][1].end)},a={type:`strikethroughText`,start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},o=[[`enter`,i,t],[`enter`,e[r][1],t],[`exit`,e[r][1],t],[`enter`,a,t]],s=t.parser.constructs.insideSpan.null;s&&kd(o,o.length,0,nf(s,e.slice(r+1,n),t)),kd(o,o.length,0,[[`exit`,a,t],[`enter`,e[n][1],t],[`exit`,e[n][1],t],[`exit`,i,t]]),kd(e,r-1,n-r+3,o),n=r+o.length-2;break}}for(n=-1;++n<e.length;)e[n][1].type===`strikethroughSequenceTemporary`&&(e[n][1].type=`data`);return e}function i(e,n,r){let i=this.previous,a=this.events,o=0;return s;function s(t){return i===126&&a[a.length-1][1].type!==`characterEscape`?r(t):(e.enter(`strikethroughSequenceTemporary`),c(t))}function c(a){let s=tf(i);if(a===126)return o>1?r(a):(e.consume(a),o++,c);if(o<2&&!t)return r(a);let l=e.exit(`strikethroughSequenceTemporary`),u=tf(a);return l._open=!u||u===2&&!!s,l._close=!s||s===2&&!!u,n(a)}}}var py=class{constructor(){this.map=[]}add(e,t,n){my(this,e,t,n)}consume(e){if(this.map.sort(function(e,t){return e[0]-t[0]}),this.map.length===0)return;let t=this.map.length,n=[];for(;t>0;)--t,n.push(e.slice(this.map[t][0]+this.map[t][1]),this.map[t][2]),e.length=this.map[t][0];n.push(e.slice()),e.length=0;let r=n.pop();for(;r;){for(let t of r)e.push(t);r=n.pop()}this.map.length=0}};function my(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i<e.map.length;){if(e.map[i][0]===t){e.map[i][1]+=n,e.map[i][2].push(...r);return}i+=1}e.map.push([t,n,r])}}function hy(e,t){let n=!1,r=[];for(;t<e.length;){let i=e[t];if(n){if(i[0]===`enter`)i[1].type===`tableContent`&&r.push(e[t+1][1].type===`tableDelimiterMarker`?`left`:`none`);else if(i[1].type===`tableContent`){if(e[t-1][1].type===`tableDelimiterMarker`){let e=r.length-1;r[e]=r[e]===`left`?`center`:`right`}}else if(i[1].type===`tableDelimiterRow`)break}else i[0]===`enter`&&i[1].type===`tableDelimiterRow`&&(n=!0);t+=1}return r}function gy(){return{flow:{null:{name:`table`,tokenize:_y,resolveAll:vy}}}}function _y(e,t,n){let r=this,i=0,a=0,o;return s;function s(e){let t=r.events.length-1;for(;t>-1;){let e=r.events[t][1].type;if(e===`lineEnding`||e===`linePrefix`)t--;else break}let i=t>-1?r.events[t][1].type:null,a=i===`tableHead`||i===`tableRow`?S:c;return a===S&&r.parser.lazy[r.now().line]?n(e):a(e)}function c(t){return e.enter(`tableHead`),e.enter(`tableRow`),l(t)}function l(e){return e===124?u(e):(o=!0,a+=1,u(e))}function u(t){return t===null?n(t):Z(t)?a>1?(a=0,r.interrupt=!0,e.exit(`tableRow`),e.enter(`lineEnding`),e.consume(t),e.exit(`lineEnding`),p):n(t):Q(t)?$(e,u,`whitespace`)(t):(a+=1,o&&(o=!1,i+=1),t===124?(e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),o=!0,u):(e.enter(`data`),d(t)))}function d(t){return t===null||t===124||Wd(t)?(e.exit(`data`),u(t)):(e.consume(t),t===92?f:d)}function f(t){return t===92||t===124?(e.consume(t),d):d(t)}function p(t){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(t):(e.enter(`tableDelimiterRow`),o=!1,Q(t)?$(e,m,`linePrefix`,r.parser.constructs.disable.null.includes(`codeIndented`)?void 0:4)(t):m(t))}function m(t){return t===45||t===58?g(t):t===124?(o=!0,e.enter(`tableCellDivider`),e.consume(t),e.exit(`tableCellDivider`),h):x(t)}function h(t){return Q(t)?$(e,g,`whitespace`)(t):g(t)}function g(t){return t===58?(a+=1,o=!0,e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),_):t===45?(a+=1,_(t)):t===null||Z(t)?b(t):x(t)}function _(t){return t===45?(e.enter(`tableDelimiterFiller`),v(t)):x(t)}function v(t){return t===45?(e.consume(t),v):t===58?(o=!0,e.exit(`tableDelimiterFiller`),e.enter(`tableDelimiterMarker`),e.consume(t),e.exit(`tableDelimiterMarker`),y):(e.exit(`tableDelimiterFiller`),y(t))}function y(t){return Q(t)?$(e,b,`whitespace`)(t):b(t)}function b(n){return n===124?m(n):n===null||Z(n)?!o||i!==a?x(n):(e.exit(`tableDelimiterRow`),e.exit(`tableHead`),t(n)):x(n)}function x(e){return n(e)}function S(t){return e.enter(`tableRow`),C(t)}function C(n){return n===124?(e.enter(`tableCellDivider`),e.consume(n),e.exit(`tableCellDivider`),C):n===null||Z(n)?(e.exit(`tableRow`),t(n)):Q(n)?$(e,C,`whitespace`)(n):(e.enter(`data`),w(n))}function w(t){return t===null||t===124||Wd(t)?(e.exit(`data`),C(t)):(e.consume(t),t===92?T:w)}function T(t){return t===92||t===124?(e.consume(t),w):w(t)}}function vy(e,t){let n=-1,r=!0,i=0,a=[0,0,0,0],o=[0,0,0,0],s=!1,c=0,l,u,d,f=new py;for(;++n<e.length;){let p=e[n],m=p[1];p[0]===`enter`?m.type===`tableHead`?(s=!1,c!==0&&(by(f,t,c,l,u),u=void 0,c=0),l={type:`table`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,l,t]])):m.type===`tableRow`||m.type===`tableDelimiterRow`?(r=!0,d=void 0,a=[0,0,0,0],o=[0,n+1,0,0],s&&(s=!1,u={type:`tableBody`,start:Object.assign({},m.start),end:Object.assign({},m.end)},f.add(n,0,[[`enter`,u,t]])),i=m.type===`tableDelimiterRow`?2:u?3:1):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)?(r=!1,o[2]===0&&(a[1]!==0&&(o[0]=o[1],d=yy(f,t,a,i,void 0,d),a=[0,0,0,0]),o[2]=n)):m.type===`tableCellDivider`&&(r?r=!1:(a[1]!==0&&(o[0]=o[1],d=yy(f,t,a,i,void 0,d)),a=o,o=[a[1],n,0,0])):m.type===`tableHead`?(s=!0,c=n):m.type===`tableRow`||m.type===`tableDelimiterRow`?(c=n,a[1]===0?o[1]!==0&&(d=yy(f,t,o,i,n,d)):(o[0]=o[1],d=yy(f,t,a,i,n,d)),i=0):i&&(m.type===`data`||m.type===`tableDelimiterMarker`||m.type===`tableDelimiterFiller`)&&(o[3]=n)}for(c!==0&&by(f,t,c,l,u),f.consume(t.events),n=-1;++n<t.events.length;){let e=t.events[n];e[0]===`enter`&&e[1].type===`table`&&(e[1]._align=hy(t.events,n))}return e}function yy(e,t,n,r,i,a){let o=r===1?`tableHeader`:r===2?`tableDelimiter`:`tableData`;n[0]!==0&&(a.end=Object.assign({},xy(t.events,n[0])),e.add(n[0],0,[[`exit`,a,t]]));let s=xy(t.events,n[1]);if(a={type:o,start:Object.assign({},s),end:Object.assign({},s)},e.add(n[1],0,[[`enter`,a,t]]),n[2]!==0){let i=xy(t.events,n[2]),a=xy(t.events,n[3]),o={type:`tableContent`,start:Object.assign({},i),end:Object.assign({},a)};if(e.add(n[2],0,[[`enter`,o,t]]),r!==2){let r=t.events[n[2]],i=t.events[n[3]];if(r[1].end=Object.assign({},i[1].end),r[1].type=`chunkText`,r[1].contentType=`text`,n[3]>n[2]+1){let t=n[2]+1,r=n[3]-n[2]-1;e.add(t,r,[])}}e.add(n[3]+1,0,[[`exit`,o,t]])}return i!==void 0&&(a.end=Object.assign({},xy(t.events,i)),e.add(i,0,[[`exit`,a,t]]),a=void 0),a}function by(e,t,n,r,i){let a=[],o=xy(t.events,n);i&&(i.end=Object.assign({},o),a.push([`exit`,i,t])),r.end=Object.assign({},o),a.push([`exit`,r,t]),e.add(n+1,0,a)}function xy(e,t){let n=e[t],r=n[0]===`enter`?`start`:`end`;return n[1][r]}var Sy={name:`tasklistCheck`,tokenize:wy};function Cy(){return{text:{91:Sy}}}function wy(e,t,n){let r=this;return i;function i(t){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(t):(e.enter(`taskListCheck`),e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),a)}function a(t){return Wd(t)?(e.enter(`taskListCheckValueUnchecked`),e.consume(t),e.exit(`taskListCheckValueUnchecked`),o):t===88||t===120?(e.enter(`taskListCheckValueChecked`),e.consume(t),e.exit(`taskListCheckValueChecked`),o):n(t)}function o(t){return t===93?(e.enter(`taskListCheckMarker`),e.consume(t),e.exit(`taskListCheckMarker`),e.exit(`taskListCheck`),s):n(t)}function s(r){return Z(r)?t(r):Q(r)?e.check({tokenize:Ty},t,n)(r):n(r)}}function Ty(e,t,n){return $(e,r,`whitespace`);function r(e){return e===null?n(e):t(e)}}function Ey(e){return Md([Hv(),iy(),fy(e),gy(),Cy()])}var Dy={};function Oy(e){let t=this,n=e||Dy,r=t.data(),i=r.micromarkExtensions||=[],a=r.fromMarkdownExtensions||=[],o=r.toMarkdownExtensions||=[];i.push(Ey(n)),a.push(jv()),o.push(Mv(n))}var ky=/[#.]/g;function Ay(e,t){let n=e||``,r={},i=0,a,o;for(;i<n.length;){ky.lastIndex=i;let e=ky.exec(n),t=n.slice(i,e?e.index:n.length);t&&(a?a===`#`?r.id=t:Array.isArray(r.className)?r.className.push(t):r.className=[t]:o=t,i+=t.length),e&&(a=e[0],i++)}return{type:`element`,tagName:o||t||`div`,properties:r,children:[]}}function jy(e,t,n){let r=n?Ly(n):void 0;function i(n,i,...a){let o;if(n==null){o={type:`root`,children:[]};let e=i;a.unshift(e)}else{o=Ay(n,t);let s=o.tagName.toLowerCase(),c=r?r.get(s):void 0;if(o.tagName=c||s,My(i))a.unshift(i);else for(let[t,n]of Object.entries(i))Ny(e,o.properties,t,n)}for(let e of a)Py(o.children,e);return o.type===`element`&&o.tagName===`template`&&(o.content={type:`root`,children:o.children},o.children=[]),o}return i}function My(e){if(typeof e!=`object`||!e||Array.isArray(e))return!0;if(typeof e.type!=`string`)return!1;let t=e,n=Object.keys(e);for(let e of n){let n=t[e];if(n&&typeof n==`object`){if(!Array.isArray(n))return!0;let e=n;for(let t of e)if(typeof t!=`number`&&typeof t!=`string`)return!0}}return!!(`children`in e&&Array.isArray(e.children))}function Ny(e,t,n,r){let i=Eu(e,n),a;if(r!=null){if(typeof r==`number`){if(Number.isNaN(r))return;a=r}else a=typeof r==`boolean`?r:typeof r==`string`?i.spaceSeparated?ju(r):i.commaSeparated?Ul(r):i.commaOrSpaceSeparated?ju(Ul(r).join(` `)):Fy(i,i.property,r):Array.isArray(r)?[...r]:i.property===`style`?Iy(r):String(r);if(Array.isArray(a)){let e=[];for(let t of a)e.push(Fy(i,i.property,t));a=e}i.property===`className`&&Array.isArray(t.className)&&(a=t.className.concat(a)),t[i.property]=a}}function Py(e,t){if(t!=null)if(typeof t==`number`||typeof t==`string`)e.push({type:`text`,value:String(t)});else if(Array.isArray(t))for(let n of t)Py(e,n);else if(typeof t==`object`&&`type`in t)t.type===`root`?Py(e,t.children):e.push(t);else throw Error("Expected node, nodes, or string, got `"+t+"`")}function Fy(e,t,n){if(typeof n==`string`){if(e.number&&n&&!Number.isNaN(Number(n)))return Number(n);if((e.boolean||e.overloadedBoolean)&&(n===``||eu(n)===eu(t)))return!0}return n}function Iy(e){let t=[];for(let[n,r]of Object.entries(e))t.push([n,r].join(`: `));return t.join(`; `)}function Ly(e){let t=new Map;for(let n of e)t.set(n.toLowerCase(),n);return t}var Ry=`altGlyph.altGlyphDef.altGlyphItem.animateColor.animateMotion.animateTransform.clipPath.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.foreignObject.glyphRef.linearGradient.radialGradient.solidColor.textArea.textPath`.split(`.`),zy=jy(ku,`div`);jy(Au,`g`,Ry);var By=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),Vy={0:`�`,128:`€`,130:`‚`,131:`ƒ`,132:`„`,133:`…`,134:`†`,135:`‡`,136:`ˆ`,137:`‰`,138:`Š`,139:`‹`,140:`Œ`,142:`Ž`,145:`‘`,146:`’`,147:`“`,148:`”`,149:`•`,150:`–`,151:`—`,152:`˜`,153:`™`,154:`š`,155:`›`,156:`œ`,158:`ž`,159:`Ÿ`};function Hy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=48&&t<=57}function Uy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}function Wy(e){let t=typeof e==`string`?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}function Gy(e){return Wy(e)||Hy(e)}var Ky=[``,`Named character references must be terminated by a semicolon`,`Numeric character references must be terminated by a semicolon`,`Named character references cannot be empty`,`Numeric character references cannot be empty`,`Named character references must be known`,`Numeric character references cannot be disallowed`,`Numeric character references cannot be outside the permissible Unicode range`];function qy(e,t){let n=t||{},r=typeof n.additional==`string`?n.additional.charCodeAt(0):n.additional,i=[],a=0,o=-1,s=``,c,l;n.position&&(`start`in n.position||`indent`in n.position?(l=n.position.indent,c=n.position.start):c=n.position);let u=(c?c.line:0)||1,d=(c?c.column:0)||1,f=m(),p;for(a--;++a<=e.length;)if(p===10&&(d=(l?l[o]:0)||1),p=e.charCodeAt(a),p===38){let t=e.charCodeAt(a+1);if(t===9||t===10||t===12||t===32||t===38||t===60||Number.isNaN(t)||r&&t===r){s+=String.fromCharCode(p),d++;continue}let o=a+1,c=o,l=o,u;if(t===35){l=++c;let t=e.charCodeAt(l);t===88||t===120?(u=`hexadecimal`,l=++c):u=`decimal`}else u=`named`;let _=``,v=``,y=``,b=u===`named`?Gy:u===`decimal`?Hy:Uy;for(l--;++l<=e.length;){let t=e.charCodeAt(l);if(!b(t))break;y+=String.fromCharCode(t),u===`named`&&By.includes(y)&&(_=y,v=Od(y))}let x=e.charCodeAt(l)===59;if(x){l++;let e=u===`named`?Od(y):!1;e&&(_=y,v=e)}let S=1+l-o,C=``;if(!(!x&&n.nonTerminated===!1))if(!y)u!==`named`&&h(4,S);else if(u===`named`){if(x&&!v)h(5,1);else if(_!==y&&(l=c+_.length,S=1+l-c,x=!1),!x){let t=_?1:3;if(n.attribute){let n=e.charCodeAt(l);n===61?(h(t,S),v=``):Gy(n)?v=``:h(t,S)}else h(t,S)}C=v}else{x||h(2,S);let e=Number.parseInt(y,u===`hexadecimal`?16:10);if(Jy(e))h(7,S),C=`�`;else if(e in Vy)h(6,S),C=Vy[e];else{let t=``;Yy(e)&&h(6,S),e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10|55296),e=56320|e&1023),C=t+String.fromCharCode(e)}}if(C){g(),f=m(),a=l-1,d+=l-o+1,i.push(C);let t=m();t.offset++,n.reference&&n.reference.call(n.referenceContext||void 0,C,{start:f,end:t},e.slice(o-1,l)),f=t}else y=e.slice(o-1,l),s+=y,d+=y.length,a=l-1}else p===10&&(u++,o++,d=0),Number.isNaN(p)?g():(s+=String.fromCharCode(p),d++);return i.join(``);function m(){return{line:u,column:d,offset:a+((c?c.offset:0)||0)}}function h(e,t){let r;n.warning&&(r=m(),r.column+=t,r.offset+=t,n.warning.call(n.warningContext||void 0,Ky[e],r,e))}function g(){s&&=(i.push(s),n.text&&n.text.call(n.textContext||void 0,s,{start:f,end:m()}),``)}}function Jy(e){return e>=55296&&e<=57343||e>1114111}function Yy(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)==65535||(e&65535)==65534}var Xy=0,Zy={},Qy={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,`__id`,{value:++Xy}),e.__id},clone:function e(t,n){n||={};var r,i;switch(Qy.util.type(t)){case`Object`:if(i=Qy.util.objId(t),n[i])return n[i];for(var a in r={},n[i]=r,t)t.hasOwnProperty(a)&&(r[a]=e(t[a],n));return r;case`Array`:return i=Qy.util.objId(t),n[i]?n[i]:(r=[],n[i]=r,t.forEach(function(t,i){r[i]=e(t,n)}),r);default:return t}}},languages:{plain:Zy,plaintext:Zy,text:Zy,txt:Zy,extend:function(e,t){var n=Qy.util.clone(Qy.languages[e]);for(var r in t)n[r]=t[r];return n},insertBefore:function(e,t,n,r){r||=Qy.languages;var i=r[e],a={};for(var o in i)if(i.hasOwnProperty(o)){if(o==t)for(var s in n)n.hasOwnProperty(s)&&(a[s]=n[s]);n.hasOwnProperty(o)||(a[o]=i[o])}var c=r[e];return r[e]=a,Qy.languages.DFS(Qy.languages,function(t,n){n===c&&t!=e&&(this[t]=a)}),a},DFS:function e(t,n,r,i){i||={};var a=Qy.util.objId;for(var o in t)if(t.hasOwnProperty(o)){n.call(t,o,t[o],r||o);var s=t[o],c=Qy.util.type(s);c===`Object`&&!i[a(s)]?(i[a(s)]=!0,e(s,n,null,i)):c===`Array`&&!i[a(s)]&&(i[a(s)]=!0,e(s,n,o,i))}}},plugins:{},highlight:function(e,t,n){var r={code:e,grammar:t,language:n};if(Qy.hooks.run(`before-tokenize`,r),!r.grammar)throw Error(`The language "`+r.language+`" has no grammar.`);return r.tokens=Qy.tokenize(r.code,r.grammar),Qy.hooks.run(`after-tokenize`,r),$y.stringify(Qy.util.encode(r.tokens),r.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var i=new nb;return rb(i,i.head,e),tb(e,i,t,i.head,0),ab(i)},hooks:{all:{},add:function(e,t){var n=Qy.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=Qy.hooks.all[e];if(!(!n||!n.length))for(var r=0,i;i=n[r++];)i(t)}},Token:$y};function $y(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=(r||``).length|0}function eb(e,t,n,r){e.lastIndex=t;var i=e.exec(n);if(i&&r&&i[1]){var a=i[1].length;i.index+=a,i[0]=i[0].slice(a)}return i}function tb(e,t,n,r,i,a){for(var o in n)if(!(!n.hasOwnProperty(o)||!n[o])){var s=n[o];s=Array.isArray(s)?s:[s];for(var c=0;c<s.length;++c){if(a&&a.cause==o+`,`+c)return;var l=s[c],u=l.inside,d=!!l.lookbehind,f=!!l.greedy,p=l.alias;if(f&&!l.pattern.global){var m=l.pattern.toString().match(/[imsuy]*$/)[0];l.pattern=RegExp(l.pattern.source,m+`g`)}for(var h=l.pattern||l,g=r.next,_=i;g!==t.tail&&!(a&&_>=a.reach);_+=g.value.length,g=g.next){var v=g.value;if(t.length>e.length)return;if(!(v instanceof $y)){var y=1,b;if(f){if(b=eb(h,_,e,d),!b||b.index>=e.length)break;var x=b.index,S=b.index+b[0].length,C=_;for(C+=g.value.length;x>=C;)g=g.next,C+=g.value.length;if(C-=g.value.length,_=C,g.value instanceof $y)continue;for(var w=g;w!==t.tail&&(C<S||typeof w.value==`string`);w=w.next)y++,C+=w.value.length;y--,v=e.slice(_,C),b.index-=_}else if(b=eb(h,0,v,d),!b)continue;var x=b.index,T=b[0],E=v.slice(0,x),D=v.slice(x+T.length),O=_+v.length;a&&O>a.reach&&(a.reach=O);var k=g.prev;E&&(k=rb(t,k,E),_+=E.length),ib(t,k,y);var A=new $y(o,u?Qy.tokenize(T,u):T,p,T);if(g=rb(t,k,A),D&&rb(t,g,D),y>1){var j={cause:o+`,`+c,reach:O};tb(e,t,n,g.prev,_,j),a&&j.reach>a.reach&&(a.reach=j.reach)}}}}}}function nb(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function rb(e,t,n){var r=t.next,i={value:n,prev:t,next:r};return t.next=i,r.prev=i,e.length++,i}function ib(e,t,n){for(var r=t.next,i=0;i<n&&r!==e.tail;i++)r=r.next;t.next=r,r.prev=t,e.length-=i}function ab(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}var ob=Qy;function sb(){}sb.prototype=ob;var cb=new sb;cb.highlight=lb,cb.register=ub,cb.alias=db,cb.registered=fb,cb.listLanguages=pb,cb.util.encode=hb,cb.Token.stringify=mb;function lb(e,t){if(typeof e!=`string`)throw TypeError("Expected `string` for `value`, got `"+e+"`");let n,r;if(t&&typeof t==`object`)n=t;else{if(r=t,typeof r!=`string`)throw TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(cb.languages,r))n=cb.languages[r];else throw Error("Unknown language: `"+r+"` is not registered")}return{type:`root`,children:ob.highlight.call(cb,e,n,r)}}function ub(e){if(typeof e!=`function`||!e.displayName)throw Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(cb.languages,e.displayName)||e(cb)}function db(e,t){let n=cb.languages,r={};typeof e==`string`?t&&(r[e]=t):r=e;let i;for(i in r)if(Object.hasOwn(r,i)){let e=r[i],t=typeof e==`string`?[e]:e,a=-1;for(;++a<t.length;)n[t[a]]=n[i]}}function fb(e){if(typeof e!=`string`)throw TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(cb.languages,e)}function pb(){let e=cb.languages,t=[],n;for(n in e)Object.hasOwn(e,n)&&typeof e[n]==`object`&&t.push(n);return t}function mb(e,t){if(typeof e==`string`)return{type:`text`,value:e};if(Array.isArray(e)){let n=[],r=-1;for(;++r<e.length;)e[r]!==null&&e[r]!==void 0&&e[r]!==``&&n.push(mb(e[r],t));return n}let n={attributes:{},classes:[`token`,e.type],content:mb(e.content,t),language:t,tag:`span`,type:e.type};return e.alias&&n.classes.push(...typeof e.alias==`string`?[e.alias]:e.alias),cb.hooks.run(`wrap`,n),zy(n.tag+`.`+n.classes.join(`.`),gb(n.attributes),n.content)}function hb(e){return e}function gb(e){let t;for(t in e)Object.hasOwn(e,t)&&(e[t]=qy(e[t]));return e}_b.displayName=`clike`,_b.aliases=[];function _b(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}vb.displayName=`javascript`,vb.aliases=[`js`];function vb(e){e.register(_b),e.languages.javascript=e.languages.extend(`clike`,{"class-name":[e.languages.clike[`class-name`],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(`(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])`),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript[`class-name`][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore(`javascript`,`keyword`,{regex:{pattern:RegExp(`((?:^|[^$\\w\\xA0-\\uFFFF."'\\])\\s]|\\b(?:return|yield))\\s*)\\/(?:(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))`),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:`language-regex`,inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:`function`},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore(`javascript`,`string`,{hashbang:{pattern:/^#!.*/,greedy:!0,alias:`comment`},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:`string`},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:`punctuation`},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:`property`}}),e.languages.insertBefore(`javascript`,`operator`,{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:`property`}}),e.languages.markup&&(e.languages.markup.tag.addInlined(`script`,`javascript`),e.languages.markup.tag.addAttribute(`on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)`,`javascript`)),e.languages.js=e.languages.javascript}yb.displayName=`markup`,yb.aliases=[`atom`,`html`,`mathml`,`rss`,`ssml`,`svg`,`xml`];function yb(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:`attr-equals`},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:`named-entity`},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside[`attr-value`].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside[`internal-subset`].inside=e.languages.markup,e.hooks.add(`wrap`,function(e){e.type===`entity`&&(e.attributes.title=e.content.value.replace(/&amp;/,`&`))}),Object.defineProperty(e.languages.markup.tag,`addInlined`,{value:function(t,n){var r={};r[`language-`+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};i[`language-`+n]={pattern:/[\s\S]+/,inside:e.languages[n]};var a={};a[t]={pattern:RegExp(`(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)`.replace(/__/g,function(){return t}),`i`),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore(`markup`,`cdata`,a)}}),Object.defineProperty(e.languages.markup.tag,`addAttribute`,{value:function(t,n){e.languages.markup.tag.inside[`special-attr`].push({pattern:RegExp(`(^|["'\\s])(?:`+t+`)\\s*=\\s*(?:"[^"]*"|'[^']*'|[^\\s'">=]+(?=[\\s>]))`,`i`),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[n,`language-`+n],inside:e.languages[n]},punctuation:[{pattern:/^=/,alias:`attr-equals`},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend(`markup`,{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}bb.displayName=`jsx`,bb.aliases=[];function bb(e){e.register(vb),e.register(yb),(function(e){var t=e.util.clone(e.languages.javascript),n=`(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)`,r=`(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})`,i=`(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})`;function a(e,t){return e=e.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return i}),RegExp(e,t)}i=a(i).source,e.languages.jsx=e.languages.extend(`markup`,t),e.languages.jsx.tag.pattern=a(`<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:"(?:\\\\[\\s\\S]|[^\\\\"])*"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>`),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside[`attr-value`].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside[`class-name`]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore(`inside`,`attr-name`,{spread:{pattern:a(`<SPREAD>`),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore(`inside`,`special-attr`,{script:{pattern:a(`=<BRACES>`),alias:`language-javascript`,inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:`punctuation`},rest:e.languages.jsx}}},e.languages.jsx.tag);var o=function(e){return e?typeof e==`string`?e:typeof e.content==`string`?e.content:e.content.map(o).join(``):``},s=function(t){for(var n=[],r=0;r<t.length;r++){var i=t[r],a=!1;if(typeof i!=`string`&&(i.type===`tag`&&i.content[0]&&i.content[0].type===`tag`?i.content[0].content[0].content===`</`?n.length>0&&n[n.length-1].tagName===o(i.content[0].content[1])&&n.pop():i.content[i.content.length-1].content===`/>`||n.push({tagName:o(i.content[0].content[1]),openedBraces:0}):n.length>0&&i.type===`punctuation`&&i.content===`{`?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&i.type===`punctuation`&&i.content===`}`?n[n.length-1].openedBraces--:a=!0),(a||typeof i==`string`)&&n.length>0&&n[n.length-1].openedBraces===0){var c=o(i);r<t.length-1&&(typeof t[r+1]==`string`||t[r+1].type===`plain-text`)&&(c+=o(t[r+1]),t.splice(r+1,1)),r>0&&(typeof t[r-1]==`string`||t[r-1].type===`plain-text`)&&(c=o(t[r-1])+c,t.splice(r-1,1),r--),t[r]=new e.Token(`plain-text`,c,null,c)}i.content&&typeof i.content!=`string`&&s(i.content)}};e.hooks.add(`after-tokenize`,function(e){e.language!==`jsx`&&e.language!==`tsx`||s(e.tokens)})})(e)}xb.displayName=`typescript`,xb.aliases=[`ts`];function xb(e){e.register(vb),(function(e){e.languages.typescript=e.languages.extend(`javascript`,{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript[`literal-property`];var t=e.languages.extend(`typescript`,{});delete t[`class-name`],e.languages.typescript[`class-name`].inside=t,e.languages.insertBefore(`typescript`,`function`,{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:`operator`},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:`class-name`,inside:t}}}}),e.languages.ts=e.languages.typescript})(e)}Sb.displayName=`tsx`,Sb.aliases=[];function Sb(e){e.register(bb),e.register(xb),(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend(`jsx`,t),delete e.languages.tsx.parameter,delete e.languages.tsx[`literal-property`];var n=e.languages.tsx.tag;n.pattern=RegExp(`(^|[^\\w$]|(?=<\\/))(?:`+n.pattern.source+`)`,n.pattern.flags),n.lookbehind=!0})(e)}Cb.displayName=`json`,Cb.aliases=[`webmanifest`];function Cb(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:`keyword`}},e.languages.webmanifest=e.languages.json}wb.displayName=`bash`,wb.aliases=[`sh`,`shell`];function wb(e){(function(e){var t=`\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b`,n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:`punctuation`,inside:null},r={bash:n,environment:{pattern:RegExp(`\\$`+t),alias:`constant`},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp(`(\\{)`+t),lookbehind:!0,alias:`constant`}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:`important`},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:`function`},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:`function`}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:`variable`,lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp(`(^|[\\s;|&]|[<>]\\()`+t),lookbehind:!0,alias:`constant`}},alias:`variable`,lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:`variable`,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp(`\\$?`+t),alias:`constant`},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:`class-name`},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:`important`},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:`important`}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=[`comment`,`function-name`,`for-or-select`,`assign-left`,`parameter`,`string`,`environment`,`function`,`keyword`,`builtin`,`boolean`,`file-descriptor`,`operator`,`punctuation`,`number`],a=r.variable[1].inside,o=0;o<i.length;o++)a[i[o]]=e.languages.bash[i[o]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(e)}Tb.displayName=`python`,Tb.aliases=[`py`];function Tb(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:`punctuation`},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:`string`},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:[`annotation`,`punctuation`],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python[`string-interpolation`].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}Eb.displayName=`css`,Eb.aliases=[];function Eb(e){(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp(`@[\\w-](?:[^;{\\s"']|\\s+(?!\\s)|`+t.source+`)*?(?:;|(?=\\s*\\{))`),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:`selector`},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp(`\\burl\\((?:`+t.source+`|(?:[^\\\\\\r\\n()"']|\\\\[\\s\\S])*)\\)`,`i`),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp(`^`+t.source+`$`),alias:`url`}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+`)*(?=\\s*\\{)`),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined(`style`,`css`),n.tag.addAttribute(`style`,`css`))})(e)}Db.displayName=`diff`,Db.aliases=[];function Db(e){(function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":`-`,"deleted-arrow":`<`,"inserted-sign":`+`,"inserted-arrow":`>`,unchanged:` `,diff:`!`};Object.keys(t).forEach(function(n){var r=t[n],i=[];/^\w+$/.test(n)||i.push(/\w+/.exec(n)[0]),n===`diff`&&i.push(`bold`),e.languages.diff[n]={pattern:RegExp(`^(?:[`+r+`].*(?:\r
47
47
  ?|
48
- |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,`PREFIXES`,{value:t})})(e)}Ob.displayName=`markdown`,Ob.aliases=[`md`];function Ob(e){e.register(yb),(function(e){var t=`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var r="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",i=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return r}),a=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+i+a+`(?:`+i+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+i+a+`)(?:`+i+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+i+`)`+a+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+i+`$`),inside:{"table-header":{pattern:RegExp(r),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:n(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:n(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}kb.displayName=`yaml`,kb.aliases=[`yml`];function kb(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}function Ab(){let[e,t]=(0,_.useState)(!1),n=(0,_.useRef)(null),r=(0,_.useRef)(!0);return(0,_.useEffect)(()=>()=>{r.current=!1,n.current!=null&&window.clearTimeout(n.current)},[]),{copied:e,copy:(0,_.useCallback)(e=>{let i=()=>{r.current&&(t(!0),n.current!=null&&window.clearTimeout(n.current),n.current=window.setTimeout(()=>{t(!1),n.current=null},1100))};if(navigator.clipboard?.writeText){navigator.clipboard.writeText(e).then(i).catch(()=>{});return}try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),i()}catch{}},[])}}function jb({children:e,...t}){return(0,U.jsx)(`svg`,{className:`conv-ico`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}function Mb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1h6c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z`})})}function Nb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M3 7l9-4 9 4-9 4-9-4Z`}),(0,U.jsx)(`path`,{d:`M3 7v10l9 4 9-4V7`})]})}function Pb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`7`,r:`3`}),(0,U.jsx)(`path`,{d:`M5.5 21a6.5 6.5 0 0 1 13 0`}),(0,U.jsx)(`path`,{d:`M19 8.5 21 7M19 11l2.4.6`})]})}function Fb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h10`})})}function Ib(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M15.5 3.5a2 2 0 1 0-3.9.5H8a1 1 0 0 0-1 1v3.6a2 2 0 1 1 0 3.8V19a1 1 0 0 0 1 1h3.6a2 2 0 1 0 3.8 0H19a1 1 0 0 0 1-1v-3.6a2 2 0 1 1 0-3.8V5a1 1 0 0 0-1-1h-3.5Z`})})}function Lb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}),(0,U.jsx)(`path`,{d:`M14 3v5h5`}),(0,U.jsx)(`circle`,{cx:`16.5`,cy:`16.5`,r:`3`}),(0,U.jsx)(`path`,{d:`M21 21l-2.1-2.1`})]})}function Rb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M12 20h9`}),(0,U.jsx)(`path`,{d:`M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})]})}function zb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M4 6l5 6-5 6`}),(0,U.jsx)(`path`,{d:`M12 18h8`})]})}function Bb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,U.jsx)(`path`,{d:`M3 12h18M12 3c2.5 2.5 2.5 15.5 0 18M12 3c-2.5 2.5-2.5 15.5 0 18`})]})}function Vb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11`}),(0,U.jsx)(`path`,{d:`M4 6l1 1 2-2M4 12l1 1 2-2M4 18l1 1 2-2`})]})}function Hb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`}),(0,U.jsx)(`path`,{d:`M12 3v11M8 10l4 4 4-4`})]})}function Ub(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 10l-5 5 5 5`}),(0,U.jsx)(`path`,{d:`M4 15h11a5 5 0 0 0 5-5V4`})]})}function Wb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,U.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,U.jsx)(`path`,{d:`M21 15l-5-5L5 21`})]})}function Gb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z`}),(0,U.jsx)(`path`,{d:`M14 3v5h5`})]})}function Kb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,U.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function qb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M5 13l4 4 10-10`})})}function Jb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 15l6-6`}),(0,U.jsx)(`path`,{d:`M11 6l1-1a4 4 0 0 1 6 6l-1 1`}),(0,U.jsx)(`path`,{d:`M13 18l-1 1a4 4 0 0 1-6-6l1-1`})]})}function Yb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`0.25`}),(0,U.jsx)(`path`,{d:`M21 12a9 9 0 0 0-9-9`})]})}function Xb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M12 3l9 16H3Z`}),(0,U.jsx)(`path`,{d:`M12 9v5M12 17v.5`})]})}function Zb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L3 21l1.9-6.4A8 8 0 1 1 21 12Z`})})}function Qb(e){let t=(e??``).toLowerCase();return t===`read`||t===`grep`||t===`glob`||t===`ls`?(0,U.jsx)(Lb,{}):t===`edit`||t===`write`||t===`notebookedit`||t===`multiedit`?(0,U.jsx)(Rb,{}):t===`bash`?(0,U.jsx)(zb,{}):t===`task`||t===`agent`?(0,U.jsx)(Pb,{}):t===`skill`?(0,U.jsx)(Ib,{}):t===`webfetch`||t===`websearch`?(0,U.jsx)(Bb,{}):t===`todowrite`||t===`taskcreate`?(0,U.jsx)(Vb,{}):(0,U.jsx)(Nb,{})}function $b({text:e,className:t}){let{copied:n,copy:r}=Ab();return(0,U.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${t??``}`.trim(),"aria-label":n?`Copied`:`Copy`,onClick:t=>{t.stopPropagation(),r(e)},children:n?(0,U.jsx)(qb,{}):(0,U.jsx)(Kb,{})})}[xb,Sb,vb,bb,Cb,wb,Tb,Eb,Db,Ob,kb].forEach(e=>cb.register(e));var ex={ts:`typescript`,js:`javascript`,sh:`bash`,shell:`bash`,yml:`yaml`,py:`python`};function tx(e){let t=ex[e]??e;return cb.registered(t)}function nx(e,t){let n=ex[t]??t;if(cb.registered(n))try{return $u(cb.highlight(e,n),{Fragment:U.Fragment,jsx:U.jsx,jsxs:U.jsxs})}catch{return e}return e}function rx({lang:e,filename:t,code:n}){return(0,U.jsxs)(`div`,{className:`codeblock`,children:[(0,U.jsxs)(`div`,{className:`cb-head`,children:[(0,U.jsx)(`span`,{className:`cb-lang`,children:e}),t&&(0,U.jsx)(`span`,{className:`cb-file`,children:t}),(0,U.jsx)($b,{text:n,className:`cb-copy`})]}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(n,e)})]})}function ix({href:e,children:t,...n}){return(0,U.jsx)(`a`,{...n,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function ax(e){return(e?.children??[]).map(e=>e.type===`text`?e.value:``).join(``)}function ox({node:e,children:t}){let n=e?.children?.find(e=>e.type===`element`&&e.tagName===`code`),r=n?.properties?.className,i=Array.isArray(r)?r.join(` `):String(r??``),a=/language-(\w+)/.exec(i)?.[1];return a&&tx(a)?(0,U.jsx)(rx,{lang:a,filename:void 0,code:ax(n)}):(0,U.jsx)(`pre`,{className:`conv-code`,children:t})}function sx({children:e}){return(0,U.jsx)(`div`,{className:`md`,children:(0,U.jsx)(wg,{remarkPlugins:[Oy],components:{a:ix,pre:ox},children:e})})}function cx(e){return e.split(`
49
- `).map(e=>{let t=/^\s*(\d+)\t(.*)$/.exec(e);return t?{num:t[1],content:t[2]}:{num:``,content:e}})}function lx({code:e,lang:t}){let n=cx(e);if(!n.some(e=>e.num))return(0,U.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e});let r=n.map(e=>e.content).join(`
48
+ |(?![\\s\\S])))+`,`m`),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,`PREFIXES`,{value:t})})(e)}Ob.displayName=`markdown`,Ob.aliases=[`md`];function Ob(e){e.register(yb),(function(e){var t=`(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))`;function n(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(`((?:^|[^\\\\])(?:\\\\{2})*)(?:`+e+`)`)}var r="(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+",i=`\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))`.replace(/__/g,function(){return r}),a=`\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)`;e.languages.markdown=e.languages.extend(`markup`,{}),e.languages.insertBefore(`markdown`,`prolog`,{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:[`yaml`,`language-yaml`],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:`punctuation`},table:{pattern:RegExp(`^`+i+a+`(?:`+i+`)*`,`m`),inside:{"table-data-rows":{pattern:RegExp(`^(`+i+a+`)(?:`+i+`)*$`),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp(`^(`+i+`)`+a+`$`),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp(`^`+i+`$`),inside:{"table-header":{pattern:RegExp(r),alias:`important`,inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:`keyword`},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:`important`,inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:`important`,inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:`punctuation`},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:`punctuation`},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:`url`},bold:{pattern:n(`\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(`\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(`(~~?)(?:(?!~)<inner>)+\\2`),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:[`code`,`keyword`]},url:{pattern:n(`!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])`),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),[`url`,`bold`,`italic`,`strike`].forEach(function(t){[`url`,`bold`,`italic`,`strike`,`code-snippet`].forEach(function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])})}),e.hooks.add(`after-tokenize`,function(e){if(e.language!==`markdown`&&e.language!==`md`)return;function t(e){if(!(!e||typeof e==`string`))for(var n=0,r=e.length;n<r;n++){var i=e[n];if(i.type!==`code`){t(i.content);continue}var a=i.content[1],o=i.content[3];if(a&&o&&a.type===`code-language`&&o.type===`code-block`&&typeof a.content==`string`){var s=a.content.replace(/\b#/g,`sharp`).replace(/\b\+\+/g,`pp`);s=(/[a-z][\w-]*/i.exec(s)||[``])[0].toLowerCase();var c=`language-`+s;o.alias?typeof o.alias==`string`?o.alias=[o.alias,c]:o.alias.push(c):o.alias=[c]}}}t(e.tokens)}),e.hooks.add(`wrap`,function(t){if(t.type===`code-block`){for(var n=``,r=0,i=t.classes.length;r<i;r++){var a=t.classes[r],o=/language-(.+)/.exec(a);if(o){n=o[1];break}}var s=e.languages[n];if(s)t.content=e.highlight(t.content.value,s,n);else if(n&&n!==`none`&&e.plugins.autoloader){var c=`md-`+new Date().valueOf()+`-`+Math.floor(Math.random()*0x2386f26fc10000);t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})}}}),RegExp(e.languages.markup.tag.pattern.source,`gi`),String.fromCodePoint||String.fromCharCode,e.languages.md=e.languages.markdown})(e)}kb.displayName=`yaml`,kb.aliases=[`yml`];function kb(e){(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r=`(?:`+n.source+`(?:[ ]+`+t.source+`)?|`+t.source+`(?:[ ]+`+n.source+`)?)`,i=`(?:[^\\s\\x00-\\x08\\x0e-\\x1f!"#%&'*,\\-:>?@[\\]\`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*`.replace(/<PLAIN>/g,function(){return`[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]`}),a=`"(?:[^"\\\\\\r\\n]|\\\\.)*"|'(?:[^'\\\\\\r\\n]|\\\\.)*'`;function o(e,t){t=(t||``).replace(/m/g,``)+`m`;var n=`([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))`.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return e});return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(`([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)`.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:`string`},comment:/#.*/,key:{pattern:RegExp(`((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)`.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return`(?:`+i+`|`+a+`)`})),lookbehind:!0,greedy:!0,alias:`atrule`},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:`important`},datetime:{pattern:o(`\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?`),lookbehind:!0,alias:`number`},boolean:{pattern:o(`false|true`,`i`),lookbehind:!0,alias:`important`},null:{pattern:o(`null|~`,`i`),lookbehind:!0,alias:`important`},string:{pattern:o(a),lookbehind:!0,greedy:!0},number:{pattern:o(`[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)`,`i`),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(e)}function Ab(){let[e,t]=(0,_.useState)(!1),n=(0,_.useRef)(null),r=(0,_.useRef)(!0);return(0,_.useEffect)(()=>()=>{r.current=!1,n.current!=null&&window.clearTimeout(n.current)},[]),{copied:e,copy:(0,_.useCallback)(e=>{let i=()=>{r.current&&(t(!0),n.current!=null&&window.clearTimeout(n.current),n.current=window.setTimeout(()=>{t(!1),n.current=null},1100))};if(navigator.clipboard?.writeText){navigator.clipboard.writeText(e).then(i).catch(()=>{});return}try{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),i()}catch{}},[])}}function jb({children:e,...t}){return(0,U.jsx)(`svg`,{className:`conv-ico`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}function Mb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M9 18h6M10 22h4M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.1h6c0-.8.4-1.6 1-2.1A7 7 0 0 0 12 2Z`})})}function Nb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M3 7l9-4 9 4-9 4-9-4Z`}),(0,U.jsx)(`path`,{d:`M3 7v10l9 4 9-4V7`})]})}function Pb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`7`,r:`3`}),(0,U.jsx)(`path`,{d:`M5.5 21a6.5 6.5 0 0 1 13 0`}),(0,U.jsx)(`path`,{d:`M19 8.5 21 7M19 11l2.4.6`})]})}function Fb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M4 6h16M4 12h16M4 18h10`})})}function Ib(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M15.5 3.5a2 2 0 1 0-3.9.5H8a1 1 0 0 0-1 1v3.6a2 2 0 1 1 0 3.8V19a1 1 0 0 0 1 1h3.6a2 2 0 1 0 3.8 0H19a1 1 0 0 0 1-1v-3.6a2 2 0 1 1 0-3.8V5a1 1 0 0 0-1-1h-3.5Z`})})}function Lb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6`}),(0,U.jsx)(`path`,{d:`M14 3v5h5`}),(0,U.jsx)(`circle`,{cx:`16.5`,cy:`16.5`,r:`3`}),(0,U.jsx)(`path`,{d:`M21 21l-2.1-2.1`})]})}function Rb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M12 20h9`}),(0,U.jsx)(`path`,{d:`M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})]})}function zb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M4 6l5 6-5 6`}),(0,U.jsx)(`path`,{d:`M12 18h8`})]})}function Bb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,U.jsx)(`path`,{d:`M3 12h18M12 3c2.5 2.5 2.5 15.5 0 18M12 3c-2.5 2.5-2.5 15.5 0 18`})]})}function Vb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11`}),(0,U.jsx)(`path`,{d:`M4 6l1 1 2-2M4 12l1 1 2-2M4 18l1 1 2-2`})]})}function Hb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M4 14v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`}),(0,U.jsx)(`path`,{d:`M12 3v11M8 10l4 4 4-4`})]})}function Ub(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 10l-5 5 5 5`}),(0,U.jsx)(`path`,{d:`M4 15h11a5 5 0 0 0 5-5V4`})]})}function Wb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,U.jsx)(`circle`,{cx:`8.5`,cy:`8.5`,r:`1.5`}),(0,U.jsx)(`path`,{d:`M21 15l-5-5L5 21`})]})}function Gb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z`}),(0,U.jsx)(`path`,{d:`M14 3v5h5`})]})}function Kb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`rect`,{x:`9`,y:`9`,width:`11`,height:`11`,rx:`2`}),(0,U.jsx)(`path`,{d:`M5 15V5a2 2 0 0 1 2-2h8`})]})}function qb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M5 13l4 4 10-10`})})}function Jb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 15l6-6`}),(0,U.jsx)(`path`,{d:`M11 6l1-1a4 4 0 0 1 6 6l-1 1`}),(0,U.jsx)(`path`,{d:`M13 18l-1 1a4 4 0 0 1-6-6l1-1`})]})}function Yb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`,opacity:`0.25`}),(0,U.jsx)(`path`,{d:`M21 12a9 9 0 0 0-9-9`})]})}function Xb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M12 3l9 16H3Z`}),(0,U.jsx)(`path`,{d:`M12 9v5M12 17v.5`})]})}function Zb(){return(0,U.jsx)(jb,{children:(0,U.jsx)(`path`,{d:`M21 12a8 8 0 0 1-11.6 7.1L3 21l1.9-6.4A8 8 0 1 1 21 12Z`})})}function Qb(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M21 11.5a8 8 0 0 1-11.6 7.1L3 20.5l1.9-6.4A8 8 0 1 1 21 11.5Z`}),(0,U.jsx)(`path`,{d:`M9.6 9a2.4 2.4 0 0 1 4.4 1.3c0 1.6-2 1.9-2 3.2`}),(0,U.jsx)(`path`,{d:`M12 16.5v.5`})]})}function $b(){return(0,U.jsxs)(jb,{children:[(0,U.jsx)(`path`,{d:`M9 4h6a1 1 0 0 1 1 1v1H8V5a1 1 0 0 1 1-1Z`}),(0,U.jsx)(`path`,{d:`M8 6H6a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1h-2`}),(0,U.jsx)(`path`,{d:`M9 13l2 2 4-4`})]})}function ex(e){let t=(e??``).toLowerCase();return t===`read`||t===`grep`||t===`glob`||t===`ls`?(0,U.jsx)(Lb,{}):t===`edit`||t===`write`||t===`notebookedit`||t===`multiedit`?(0,U.jsx)(Rb,{}):t===`bash`?(0,U.jsx)(zb,{}):t===`task`||t===`agent`?(0,U.jsx)(Pb,{}):t===`skill`?(0,U.jsx)(Ib,{}):t===`webfetch`||t===`websearch`?(0,U.jsx)(Bb,{}):t===`askuserquestion`?(0,U.jsx)(Qb,{}):t===`exitplanmode`?(0,U.jsx)($b,{}):t===`todowrite`||t===`taskcreate`?(0,U.jsx)(Vb,{}):(0,U.jsx)(Nb,{})}function tx({text:e,className:t}){let{copied:n,copy:r}=Ab();return(0,U.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${t??``}`.trim(),"aria-label":n?`Copied`:`Copy`,onClick:t=>{t.stopPropagation(),r(e)},children:n?(0,U.jsx)(qb,{}):(0,U.jsx)(Kb,{})})}[xb,Sb,vb,bb,Cb,wb,Tb,Eb,Db,Ob,kb].forEach(e=>cb.register(e));var nx={ts:`typescript`,js:`javascript`,sh:`bash`,shell:`bash`,yml:`yaml`,py:`python`};function rx(e){let t=nx[e]??e;return cb.registered(t)}function ix(e,t){let n=nx[t]??t;if(cb.registered(n))try{return $u(cb.highlight(e,n),{Fragment:U.Fragment,jsx:U.jsx,jsxs:U.jsxs})}catch{return e}return e}function ax({lang:e,filename:t,code:n}){return(0,U.jsxs)(`div`,{className:`codeblock`,children:[(0,U.jsxs)(`div`,{className:`cb-head`,children:[(0,U.jsx)(`span`,{className:`cb-lang`,children:e}),t&&(0,U.jsx)(`span`,{className:`cb-file`,children:t}),(0,U.jsx)(tx,{text:n,className:`cb-copy`})]}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:ix(n,e)})]})}function ox({href:e,children:t,...n}){return(0,U.jsx)(`a`,{...n,href:e,target:`_blank`,rel:`noopener noreferrer`,children:t})}function sx(e){return(e?.children??[]).map(e=>e.type===`text`?e.value:``).join(``)}function cx({node:e,children:t}){let n=e?.children?.find(e=>e.type===`element`&&e.tagName===`code`),r=n?.properties?.className,i=Array.isArray(r)?r.join(` `):String(r??``),a=/language-(\w+)/.exec(i)?.[1];return a&&rx(a)?(0,U.jsx)(ax,{lang:a,filename:void 0,code:sx(n)}):(0,U.jsx)(`pre`,{className:`conv-code`,children:t})}function lx({children:e}){return(0,U.jsx)(`div`,{className:`md`,children:(0,U.jsx)(wg,{remarkPlugins:[Oy],components:{a:ox,pre:cx},children:e})})}function ux(e){return e.split(`
49
+ `).map(e=>{let t=/^\s*(\d+)\t(.*)$/.exec(e);return t?{num:t[1],content:t[2]}:{num:``,content:e}})}function dx({code:e,lang:t}){let n=ux(e);if(!n.some(e=>e.num))return(0,U.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e});let r=n.map(e=>e.content).join(`
50
50
  `);return(0,U.jsxs)(`div`,{className:`conv-code--numbered`,children:[(0,U.jsx)(`span`,{className:`cb-gutter`,"aria-hidden":`true`,children:n.map(e=>e.num).join(`
51
- `)}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(r,t)})]})}var ux={py:`python`,ts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,json:`json`,sh:`bash`,bash:`bash`,zsh:`bash`,css:`css`,md:`markdown`,markdown:`markdown`,yaml:`yaml`,yml:`yaml`,diff:`diff`,patch:`diff`};function dx(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?``:ux[t.slice(n+1).toLowerCase()]??``}function fx(e,t){return e===`Read`?dx(t):``}function px({blocks:e}){let t=[],n=0,r=[],i=()=>{r.length&&(t.push((0,U.jsx)(sx,{children:r.join(`
51
+ `)}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:ix(r,t)})]})}var fx={py:`python`,ts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,json:`json`,sh:`bash`,bash:`bash`,zsh:`bash`,css:`css`,md:`markdown`,markdown:`markdown`,yaml:`yaml`,yml:`yaml`,diff:`diff`,patch:`diff`};function px(e){let t=e.split(`/`).pop()??e,n=t.lastIndexOf(`.`);return n<=0?``:fx[t.slice(n+1).toLowerCase()]??``}function mx(e,t){return e===`Read`?px(t):``}function hx(e){let t={},n=/"([^"]*)"\s*=\s*"([^"]*)"/g,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2];return t}function gx(e,t){let n=t.map(e=>e.label);if(n.includes(e))return{selected:[e],custom:null};let r=[...n].sort((e,t)=>t.length-e.length),i=e,a=[];for(;i.length;){let e=r.find(e=>i===e||i.startsWith(e+`, `));if(!e)break;a.push(e),i=i===e?``:i.slice(e.length+2)}return i.length===0&&a.length?{selected:a,custom:null}:{selected:[],custom:e}}function _x(e){let t=e.input?.questions;return Array.isArray(t)?t:[]}function vx(e){return e.answers&&typeof e.answers==`object`?e.answers:e.result?.text?hx(e.result.text):{}}function yx(e,t){let n=e.annotations;if(!n||typeof n!=`object`)return null;let r=n[t];if(!r||typeof r!=`object`)return null;let i=r.notes;if(typeof i!=`string`)return null;let a=i.trim();return a.length?a:null}function bx({call:e}){let t=_x(e),n=vx(e),r=Object.keys(n).length>0,i=e.answers?JSON.stringify(e.answers,null,2):e.result?.text??``;return(0,U.jsxs)(`details`,{className:`conv-chip conv-ask`,open:!0,children:[(0,U.jsxs)(`summary`,{className:`conv-ask-eyebrow`,children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Qb,{}),(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Asked you`}),(0,U.jsxs)(`span`,{className:`conv-ask-count`,children:[`· `,t.length,` question`,t.length===1?``:`s`,r?``:` · awaiting answer`]})]}),(0,U.jsxs)(`div`,{className:`conv-ask-body`,children:[i&&(0,U.jsx)(`div`,{className:`conv-ask-copy`,children:(0,U.jsx)(tx,{text:i})}),t.map((t,r)=>{let i=t.options??[],a=n[t.question],{selected:o,custom:s}=a==null?{selected:[],custom:null}:gx(a,i),c=new Set(o),l=yx(e,t.question);return(0,U.jsxs)(`div`,{className:`conv-ask-q`,children:[(0,U.jsxs)(`div`,{className:`conv-ask-qhead`,children:[t.header&&(0,U.jsx)(`span`,{className:`conv-ask-tag`,children:t.header}),(0,U.jsx)(`span`,{className:`conv-ask-ms`,children:t.multiSelect?`select multiple`:`single select`})]}),(0,U.jsx)(`p`,{className:`conv-ask-qtext`,children:t.question}),(0,U.jsx)(`div`,{className:`conv-ask-opts`,children:i.map((e,t)=>(0,U.jsxs)(`div`,{className:`conv-ask-opt`+(c.has(e.label)?` conv-ask-opt--chosen`:``),children:[(0,U.jsxs)(`div`,{className:`conv-ask-opt-label`,children:[c.has(e.label)&&(0,U.jsx)(qb,{}),e.label,c.has(e.label)&&(0,U.jsx)(`span`,{className:`conv-ask-pick`,children:`your choice`})]}),e.description&&(0,U.jsx)(`div`,{className:`conv-ask-opt-desc`,children:e.description}),e.preview&&(0,U.jsx)(`pre`,{className:`conv-ask-opt-preview`,children:e.preview})]},t))}),s!=null&&(0,U.jsxs)(`div`,{className:`conv-ask-custom`,children:[(0,U.jsx)(`span`,{className:`conv-ask-pick`,children:`your answer`}),` `,s]}),l!=null&&(0,U.jsxs)(`div`,{className:`conv-ask-note`,children:[`note: `,l]})]},r)})]})]})}function xx(e){return e===`completed`||e===`in_progress`?e:`pending`}function Sx({todos:e,label:t}){let n=e.length,r=e.filter(e=>xx(e.status)===`completed`).length,i=e.find(e=>xx(e.status)===`in_progress`)??e.find(e=>xx(e.status)===`pending`),a=n===0?`no todos`:r===n?`all done`:i?.content??``,o=n===0?0:Math.round(r/n*100),s=e.map(e=>`[${xx(e.status)===`completed`?`x`:xx(e.status)===`in_progress`?`~`:` `}] ${e.content}`).join(`
52
+ `);return(0,U.jsxs)(`details`,{className:`conv-chip conv-todo`,children:[(0,U.jsxs)(`summary`,{className:`conv-todo-summary`,children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Vb,{}),(0,U.jsx)(`span`,{className:`conv-chip-name`,children:t}),(0,U.jsx)(`span`,{className:`conv-todo-preview`,children:a}),(0,U.jsx)(`span`,{className:`conv-todo-minibar`,"aria-hidden":`true`,children:(0,U.jsx)(`i`,{style:{width:`${o}%`}})}),(0,U.jsxs)(`span`,{className:`conv-todo-frac`,children:[r,` / `,n]})]}),(0,U.jsxs)(`div`,{className:`conv-todo-body`,children:[(0,U.jsxs)(`div`,{className:`conv-todo-head`,children:[(0,U.jsxs)(`span`,{className:`conv-todo-title`,children:[`Todos · `,r,` / `,n,` done`]}),(0,U.jsx)(tx,{text:s})]}),(0,U.jsx)(`div`,{className:`conv-todo-bar`,"aria-hidden":`true`,children:(0,U.jsx)(`i`,{style:{width:`${o}%`}})}),(0,U.jsx)(`ul`,{className:`conv-todo-items`,children:e.map((e,t)=>{let n=xx(e.status);return(0,U.jsxs)(`li`,{className:`conv-todo-item ${n===`completed`?`conv-todo-item--done`:n===`in_progress`?`conv-todo-item--cur`:`conv-todo-item--todo`}`,children:[n===`completed`?(0,U.jsx)(qb,{}):(0,U.jsx)(`span`,{className:`conv-todo-ring`+(n===`in_progress`?` conv-todo-ring--cur`:``),"aria-hidden":`true`}),(0,U.jsx)(`span`,{className:`conv-todo-text`,children:e.content}),n===`in_progress`&&(0,U.jsx)(`span`,{className:`conv-todo-tag`,children:`in progress`})]},t)})})]})]})}function Cx(e){let t=e.input?.todos;return Array.isArray(t)?t:[]}function wx({call:e}){return(0,U.jsx)(Sx,{todos:Cx(e),label:`TodoWrite`})}function Tx(e){let t=e.input?.plan;return typeof t==`string`?t:``}function Ex(e){return e.split(`
53
+ `).length>24||e.length>1400}function Dx(e){let t=e.result;return t==null?`awaiting`:t.is_error||/doesn't want to proceed|rejected|keep planning|reject/i.test(t.text)?`rejected`:/approv/i.test(t.text)?`approved`:`responded`}function Ox({call:e}){let t=Tx(e),n=Dx(e),[r,i]=(0,_.useState)(!1),a=Ex(t)&&!r;return(0,U.jsxs)(`details`,{className:`conv-chip conv-plan`,open:!0,children:[(0,U.jsxs)(`summary`,{className:`conv-plan-eyebrow`,children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)($b,{}),(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Plan proposed`}),n===`approved`&&(0,U.jsxs)(`span`,{className:`conv-plan-badge conv-plan-badge--ok`,children:[(0,U.jsx)(qb,{}),` Approved`]}),n===`rejected`&&(0,U.jsxs)(`span`,{className:`conv-plan-badge conv-plan-badge--no`,children:[(0,U.jsx)(Xb,{}),` Rejected`]}),n===`responded`&&(0,U.jsx)(`span`,{className:`conv-plan-badge conv-plan-badge--neutral`,children:`Responded`})]}),(0,U.jsxs)(`div`,{className:`conv-plan-body`,children:[t&&(0,U.jsx)(`div`,{className:`conv-plan-copy`,children:(0,U.jsx)(tx,{text:t})}),(0,U.jsx)(`div`,{className:`conv-plan-md`+(a?` conv-plan-md--clamp`:``),children:(0,U.jsx)(lx,{children:t})}),a&&(0,U.jsx)(`div`,{className:`conv-plan-more`,children:(0,U.jsx)(`button`,{type:`button`,onClick:()=>i(!0),children:`Show full plan ↓`})}),e.input_truncated&&(0,U.jsx)(`div`,{className:`conv-plan-trunc`,children:`plan input truncated in this view; full text remains in the original JSONL session file`})]})]})}function kx(e){let t=e.input?.plan;return typeof t==`string`&&t.length>0?t:null}function Ax(e){switch((e.name??``).toLowerCase()){case`askuserquestion`:return(0,U.jsx)(bx,{call:e});case`todowrite`:return(0,U.jsx)(wx,{call:e});case`exitplanmode`:return kx(e)==null?null:(0,U.jsx)(Ox,{call:e});default:return null}}function jx({call:e}){return(0,U.jsx)(Sx,{todos:e.task_snapshot??[],label:`Tasks`})}var Mx=new Set([`TaskCreate`,`TaskUpdate`,`TaskList`]);function Nx(e){let t=e[0];return t!=null&&t.name!=null&&Mx.has(t.name)&&Array.isArray(t.task_snapshot)}function Px({blocks:e}){let t=[],n=0,r=[],i=()=>{r.length&&(t.push((0,U.jsx)(lx,{children:r.join(`
52
54
 
53
- `)},`t${t.length}`)),r=[])};for(;n<e.length;){let a=e[n];if(a.kind===`text`){r.push(a.text),n++;continue}if(i(),a.kind===`tool_call`){let r=[];for(;n<e.length&&e[n].kind===`tool_call`;)r.push(e[n]),n++;t.push((0,U.jsx)(mx,{calls:r},`r${t.length}`));continue}t.push((0,U.jsx)(vx,{block:a},`c${t.length}`)),n++}return i(),t.length===0?null:(0,U.jsx)(`div`,{className:`conv-blocks`,children:t})}function mx({calls:e}){return(0,U.jsxs)(`div`,{className:`conv-toolrun`,children:[e.length>=2&&(0,U.jsxs)(`div`,{className:`conv-toolrun-head`,children:[`tool run · `,e.length,` actions`]}),e.map((e,t)=>(0,U.jsx)(gx,{call:e},t))]})}function hx({result:e,name:t,preview:n}){let r=t===`Read`&&!e.is_error?fx(`Read`,n):``;return r?(0,U.jsx)(lx,{code:e.text,lang:r}):(0,U.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e.text})}function gx({call:e}){if(e.skill_body!=null)return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool conv-chip--skill`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body`,children:[(0,U.jsx)($b,{text:e.skill_body}),(0,U.jsx)(sx,{children:e.skill_body})]})]});let t=e.result?.is_error?` · error`:e.result?.truncated?` · truncated`:``;return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview}),t&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:t})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-chip-body--io`,children:[(0,U.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,U.jsx)(`div`,{className:`conv-tool-io-label`,children:`request`}),(0,U.jsx)($b,{text:e.input_summary}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:nx(e.input_summary,`json`)})]}),e.result?(0,U.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,U.jsxs)(`div`,{className:`conv-tool-io-label`,children:[`result`,e.result.is_error?` · error`:` · ok`,e.result.truncated?` · truncated`:``]}),(0,U.jsx)($b,{text:e.result.text}),(0,U.jsx)(hx,{result:e.result,name:e.name,preview:e.preview})]}):(0,U.jsx)(`div`,{className:`conv-tool-io`,children:(0,U.jsx)(`div`,{className:`conv-tool-io-label conv-tool-io-label--none`,children:`no result`})})]})]})}function _x(e){let t=e.split(`
54
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function vx({block:e}){switch(e.kind){case`thinking`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--thinking`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Mb,{}),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Thinking`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:_x(e.text)})]}),(0,U.jsx)(`div`,{className:`conv-chip-body`,children:(0,U.jsx)(sx,{children:e.text})})]});case`tool_use`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),Qb(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,U.jsx)($b,{text:e.input_summary}),(0,U.jsx)(`pre`,{className:`conv-code`,children:e.input_summary})]})]});case`tool_result`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Result`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:_x(e.text)}),e.is_error&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:` · error`}),e.truncated&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:` · truncated`})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,U.jsx)($b,{text:e.text}),(0,U.jsx)(`pre`,{className:`conv-code`,children:e.text})]})]});case`image`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,U.jsx)(Wb,{}),` `,e.media_type??`image`,` · `,e.bytes,` B`]});case`document`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,U.jsx)(Gb,{}),` `,e.media_type??`document`,` · `,e.bytes,` B`]});case`tool_reference`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--ref`,children:[(0,U.jsx)(Ub,{}),` `,e.name??`tool`]});default:return null}}var yx=`#/conversations`;function bx(e){let t=e.startsWith(`#`)?e.slice(1):e;if(t===``||t===`/`)return null;if(t===`/conversations`||t===`/conversations/`)return{sessionId:null,turnUuid:null};if(!t.startsWith(`/conversations/`))return null;let n=t.slice(15).split(`/`).filter(e=>e.length>0);return n.length===1?{sessionId:decodeURIComponent(n[0]),turnUuid:null}:n.length===2?{sessionId:decodeURIComponent(n[0]),turnUuid:decodeURIComponent(n[1])}:null}function xx(e,t){if(e===null)return yx;let n=encodeURIComponent(e);return t?`${yx}/${n}/${encodeURIComponent(t)}`:`${yx}/${n}`}function Sx(e,t,n,r){return`${e}${t}${xx(n,r)}`}function Cx(e,t){return e===`dashboard`?``:xx(t)}function wx(e,t){if(e===window.location.hash)return;let n=e===``?window.location.pathname+window.location.search:e;t===`push`?window.history.pushState(null,``,n):window.history.replaceState(null,``,n)}function Tx(e,t){wx(xx(e,t),`replace`)}function Ex(e){let t=bx(window.location.hash);if(t===null){e.dispatch({type:`SET_VIEW`,view:`dashboard`});return}if(t.sessionId===null){e.dispatch({type:`SET_VIEW`,view:`conversations`}),e.dispatch({type:`SELECT_CONVERSATION`,sessionId:null});return}let n=t.turnUuid?{session_id:t.sessionId,uuid:t.turnUuid}:void 0;e.dispatch({type:`OPEN_CONVERSATION`,sessionId:t.sessionId,jump:n})}function Dx(e={getState:B,subscribeStore:V,dispatch:H}){Ex(e);let t=()=>{let t=e.getState();return{view:t.view,sid:t.selectedConversationId,jumpUuid:t.conversationJump?.uuid??null}},n=t(),r=()=>Ex(e);window.addEventListener(`hashchange`,r);let i=e.subscribeStore(()=>{let r=e.getState(),i=t(),a=r.conversationJump?.session_id===i.sid;if(i.view!==n.view||i.sid!==n.sid){let e=Cx(i.view,i.sid);i.view===`conversations`&&i.sid&&i.jumpUuid&&a&&(e=xx(i.sid,i.jumpUuid)),wx(e,`push`)}else i.sid&&i.sid===n.sid&&i.jumpUuid&&i.jumpUuid!==n.jumpUuid&&a&&wx(xx(i.sid,i.jumpUuid),`replace`);n=i});return()=>{window.removeEventListener(`hashchange`,r),i()}}function Ox({sessionId:e,uuid:t,className:n}){let{copied:r,copy:i}=Ab();return(0,U.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${n??``}`.trim(),"aria-label":r?`Link copied`:`Copy link to this turn`,onClick:n=>{n.stopPropagation(),i(Sx(window.location.origin,window.location.pathname,e,t)),Tx(e,t)},children:r?(0,U.jsx)(qb,{}):(0,U.jsx)(Jb,{})})}function kx(e){let t=e.split(`
55
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function Ax({item:e,className:t=``,style:n},r){let i=e=>`conv-item ${e}${t?` ${t}`:``}`;if(e.kind===`tool_result`)return(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--tool_result`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` Tool result`,(0,U.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,U.jsx)(`div`,{className:`conv-chip-body`,children:(0,U.jsx)(px,{blocks:e.blocks})})]})});if(e.kind===`assistant`){let t=typeof e.cost_usd==`number`&&e.cost_usd>0;return(0,U.jsxs)(`div`,{ref:r,className:i(`conv-item--assistant`),style:n,"data-uuid":e.anchor.uuid,children:[(0,U.jsxs)(`div`,{className:`conv-item-head`,children:[(0,U.jsx)(`span`,{className:`conv-item-label`,children:`Assistant`}),e.model&&(0,U.jsx)(`span`,{className:`chip ${un(e.model)}`,children:e.model})]}),(0,U.jsx)(px,{blocks:e.blocks}),e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)($b,{text:e.text})]}),t&&(0,U.jsxs)(`div`,{className:`conv-item-cost`,children:[`$`,e.cost_usd.toFixed(4)]})]})}if(e.kind===`meta`){let t=e.meta_kind,a=t===`skill`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ib,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`Skill content`}),e.skill_name&&(0,U.jsxs)(`span`,{className:`conv-meta-name`,children:[`· `,e.skill_name]})]}):t===`command`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Fb,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`System marker`})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Fb,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`Injected context`}),(0,U.jsx)(`span`,{className:`conv-meta-preview`,children:kx(e.text)})]});return(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--meta`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-meta conv-meta--${t}`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),a]}),t===`command`?(0,U.jsx)(`pre`,{className:`conv-meta-body conv-meta-body--pre`,children:e.text}):(0,U.jsxs)(`div`,{className:`conv-meta-body`,children:[(0,U.jsx)(px,{blocks:e.blocks}),t===`skill`&&e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)($b,{text:e.text})]})]})]})})}return Hl(e.text)&&e.blocks.every(e=>e.kind===`text`)?(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--system`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-system-marker`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Fb,{}),` System marker`,(0,U.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,U.jsx)(`pre`,{className:`conv-system-marker-body`,children:e.text})]})}):(0,U.jsxs)(`div`,{ref:r,className:i(`conv-item--human`),style:n,"data-uuid":e.anchor.uuid,children:[(0,U.jsx)(`div`,{className:`conv-item-head`,children:(0,U.jsx)(`span`,{className:`conv-item-label`,children:`You`})}),e.text&&(0,U.jsx)(sx,{children:e.text}),(0,U.jsx)(px,{blocks:e.blocks.filter(e=>e.kind!==`text`)}),e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Ox,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)($b,{text:e.text})]})]})}var jx=(0,_.memo)((0,_.forwardRef)(Ax)),Mx=60;function Nx(e){return e==null?null:e===`completed`?(0,U.jsx)(`span`,{className:`conv-subagent-ok`,"aria-label":`completed`,title:`completed`,children:`✓`}):e===`error`?(0,U.jsxs)(`span`,{className:`conv-subagent-err`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`✕`}),` error`]}):(0,U.jsxs)(`span`,{className:`conv-subagent-warn`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,e]})}function Px(e,t){let n=((e.find(e=>e.kind!==`meta`)??e[0])?.text??``).split(`
56
- `).map(e=>e.trim()).find(e=>e.length>0)??``;return n?n.length>Mx?`${n.slice(0,Mx).trimEnd()}…`:n:`Subagent ${t}`}function Fx({subagentKey:e,items:t,nested:n,meta:r,getItemRef:i,forceOpen:a=!1,riseClassName:o=``,riseStyle:s}){let[c,l]=(0,_.useState)(!1),u=c||a;(0,_.useEffect)(()=>{a&&l(!0)},[a]);let d=Px(t,e),f=t.reduce((e,t)=>e+(`cost_usd`in t?t.cost_usd??0:0),0),p=[...new Set(t.map(e=>`model`in e?e.model:null).filter(Boolean))];return(0,U.jsxs)(`details`,{className:[n?`conv-sidechain conv-sidechain--nested`:`conv-sidechain`,a?`conv-sidechain--force`:``,o].filter(Boolean).join(` `),style:s,open:u,onToggle:e=>l(e.currentTarget.open),children:[(0,U.jsxs)(`summary`,{className:`conv-sidechain-head`,children:[(0,U.jsx)(`span`,{className:`conv-sidechain-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Pb,{})}),(0,U.jsxs)(`span`,{className:`conv-sidechain-headtext`,children:[(0,U.jsxs)(`span`,{className:`conv-sidechain-kind`,children:[`Subagent`,r?.kind?(0,U.jsxs)(`span`,{className:`conv-sidechain-kindname`,children:[` · `,r.kind]}):null]}),(0,U.jsx)(`span`,{className:`conv-sidechain-title`,children:d}),r&&(r.total_tokens!=null||r.total_duration_ms!=null||r.total_tool_use_count!=null||r.status!=null)&&(0,U.jsxs)(`span`,{className:`conv-sidechain-submeta`,children:[r.total_tokens!=null&&(0,U.jsxs)(`span`,{children:[A.compact(r.total_tokens),` tok`]}),r.total_duration_ms!=null&&(0,U.jsx)(`span`,{children:A.durationMs(r.total_duration_ms)}),r.total_tool_use_count!=null&&(0,U.jsxs)(`span`,{children:[r.total_tool_use_count,` `,r.total_tool_use_count===1?`tool`:`tools`]}),Nx(r.status)]})]}),(0,U.jsxs)(`span`,{className:`conv-sidechain-meta`,children:[p.length>0&&(0,U.jsx)(`span`,{className:`conv-sidechain-model`,children:p.join(`, `)}),(0,U.jsxs)(`span`,{children:[t.length,` msgs`]}),(0,U.jsx)(`span`,{className:`conv-sidechain-cost`,children:A.usd2(f)}),(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`})]})]}),(0,U.jsx)(`div`,{className:`conv-sidechain-body`,children:t.map(e=>(0,U.jsx)(jx,{item:e,ref:u&&i?i(e):void 0},e.anchor.uuid))})]})}function Ix(e){for(let t of e.items)if(t.kind===`human`&&!t.is_sidechain&&t.text.trim()&&!Hl(t.text)){let e=t.text.split(`
57
- `).map(e=>e.trim()).find(Boolean);if(e)return e.length>120?e.slice(0,120).trimEnd()+`…`:e}return e.project_label||e.session_id}function Lx({sessionId:e,mobileBack:t}){let{detail:n,loading:r,error:i,hasMore:a,loadMore:o,loadUntil:s}=Rl(e),c=(0,_.useSyncExternalStore)(V,()=>B().conversationJump),l=Ao(),u=(0,_.useRef)(null),d=(0,_.useRef)(new Map),f=(0,_.useRef)(new Map),p=(0,_.useRef)(null),[m,h]=(0,_.useState)(null),g=(0,_.useRef)(new Set),[v,y]=(0,_.useState)(0),b=(0,_.useRef)(0);b.current=v;let x=(0,_.useRef)(null),S=(0,_.useRef)(null),C=(0,_.useRef)(a);C.current=a;let w=(0,_.useRef)(o);w.current=o;let T=(0,_.useRef)(l);T.current=l;let E=(0,_.useRef)(!0),D=(0,_.useRef)(0),O=(0,_.useRef)(!1),[k,j]=(0,_.useState)(0),[M,N]=(0,_.useState)(!1),P=(0,_.useRef)(null),F=(0,_.useCallback)(()=>{let e=S.current;if(!e)return;let t=e.scrollTop+e.clientHeight>=e.scrollHeight-80;E.current=t,t&&j(e=>e&&0);let n=x.current,r=S.current;if(n&&r){let e=r.getBoundingClientRect().top,t=null;for(let r of Array.from(n.children)){let n=r.getBoundingClientRect();if(n.top<=e+1&&n.bottom>e+1){t=r;break}}t&&e-t.getBoundingClientRect().top>160?(P.current=t,N(!0)):(P.current=null,N(!1))}},[]),ee=(0,_.useCallback)(()=>{P.current?.scrollIntoView({block:`start`,behavior:T.current?`auto`:`smooth`}),N(!1)},[]);(0,_.useLayoutEffect)(()=>{let e=S.current,t=n?.items.length??0,r=D.current,i=t-r,o=i>0&&O.current===!1&&r>0;e&&o&&(E.current?e.scrollTo({top:e.scrollHeight}):j(e=>e+i)),D.current=t,O.current=a},[n?.items.length,a]);let te=(0,_.useCallback)(()=>{let e=S.current;e&&(e.scrollTo({top:e.scrollHeight,behavior:T.current?`auto`:`smooth`}),j(0))},[]),ne=(0,_.useMemo)(()=>Bl(n?.items??[]),[n?.items]),I=(0,_.useMemo)(()=>n?Ix(n):``,[n]);(0,_.useEffect)(()=>{if(!u.current||!a)return;let e=new IntersectionObserver(e=>{e[0].isIntersecting&&o()});return e.observe(u.current),()=>e.disconnect()},[a,o]),(0,_.useEffect)(()=>{if(!c||c.session_id!==e){m!==null&&h(null);return}if(!n||n.session_id!==e)return;let t=!1;return(async()=>{if(await s(c.uuid),t)return;let e=d.current.get(c.uuid);if(e){e.scrollIntoView({behavior:l?`auto`:`smooth`,block:`center`}),e.classList.add(`conv-item--jumped`),p.current!=null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{e.classList.remove(`conv-item--jumped`),p.current=null},2e3),H({type:`CLEAR_CONVERSATION_JUMP`}),h(null);return}let r=n.items.find(e=>e.member_uuids.includes(c.uuid));if(r&&r.subagent_key!=null&&m!==r.subagent_key){h(r.subagent_key);return}a||H({type:`CLEAR_CONVERSATION_JUMP`})})(),()=>{t=!0}},[c,e,n?.items.length,a,m]),(0,_.useEffect)(()=>()=>{p.current!=null&&window.clearTimeout(p.current)},[]),(0,_.useEffect)(()=>()=>{f.current.clear()},[e]),(0,_.useEffect)(()=>{h(null)},[e]),(0,_.useEffect)(()=>{j(0),E.current=!0,N(!1),P.current=null},[e]),(0,_.useEffect)(()=>{g.current.clear()},[e]),(0,_.useEffect)(()=>{for(let e of ne){let t=e.kind===`subagent`||e.kind===`tool_result_run`?e.items[0]?.anchor.uuid:e.item.anchor.uuid;t&&g.current.add(t)}},[ne]);let re=(0,_.useCallback)((t,n,r)=>l||g.current.has(t)||c!=null&&c.session_id===e&&n.includes(c.uuid)?[``,void 0]:[`conv-rise`,{animationDelay:g.current.size===0?`${r*40}ms`:`0ms`}],[l,c,e]),ie=(0,_.useCallback)(e=>{let t=f.current,n=e.anchor.uuid,r=t.get(n);return r||(r=t=>{for(let n of e.member_uuids)t?d.current.set(n,t):d.current.delete(n)},t.set(n,r)),r},[]);(0,_.useEffect)(()=>{y(0)},[e]),(0,_.useEffect)(()=>{let e=x.current;if(!e)return;let t=e.children;for(let e=0;e<t.length;e++)t[e].classList.toggle(`conv-item--focused`,e===v)},[v,ne]);let ae=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;let n=t.children.length-1;if(n<0)return;let r=b.current,i=Math.max(0,Math.min(n,r+e));if(e>0&&r===n&&C.current){w.current();return}i!==r&&(y(i),t.children[i]?.scrollIntoView({block:`nearest`,behavior:T.current?`auto`:`smooth`}))},[]),oe=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;t.classList.add(`conv-reader-thread--bulk`),t.querySelectorAll(`details`).forEach(t=>{t.open=e});let n=()=>t.classList.remove(`conv-reader-thread--bulk`);typeof requestAnimationFrame==`function`?requestAnimationFrame(n):n()},[]),se=(0,_.useCallback)(()=>{S.current?.scrollTo({top:0,behavior:T.current?`auto`:`smooth`}),y(0)},[]);return Vt((0,_.useMemo)(()=>{let e=()=>!B().openModal&&B().inputMode===null,t=(t,n)=>({key:t,scope:`global`,view:`conversations`,when:e,action:n});return[t(`j`,()=>ae(1)),t(`k`,()=>ae(-1)),t(`[`,()=>oe(!1)),t(`]`,()=>oe(!0)),t(`g`,()=>se())]},[])),r&&!n?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--loading`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Yb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Loading conversation…`})]})}):i?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--error`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Xb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:i})]})}):n?(0,U.jsxs)(`div`,{className:`conv-reader`,children:[(0,U.jsxs)(`div`,{className:`conv-reader-head`,children:[t&&(0,U.jsx)(`button`,{type:`button`,className:`conv-back`,onClick:()=>H({type:`SELECT_CONVERSATION`,sessionId:null}),children:`← Back`}),(0,U.jsx)(`div`,{className:`conv-reader-title`,children:I||n.session_id}),(0,U.jsxs)(`div`,{className:`conv-reader-meta`,children:[n.project_label||`—`,` · `,n.git_branch??`—`,` · `,A.usd2(n.cost_usd),` · `,n.models.join(`, `)]})]}),(0,U.jsxs)(`div`,{className:`conv-reader-body`,ref:S,onScroll:F,children:[(0,U.jsx)(`div`,{className:`conv-reader-thread`,ref:x,children:ne.map((t,r)=>{if(t.kind===`subagent`){let i=t.items.flatMap(e=>e.member_uuids),[a,o]=re(t.items[0].anchor.uuid,i,r);return(0,U.jsx)(Fx,{subagentKey:t.subagentKey,items:t.items,nested:t.nested,meta:n.subagent_meta?.[t.subagentKey],getItemRef:ie,forceOpen:n.session_id===e&&t.subagentKey===m,riseClassName:a,riseStyle:o},`sc-${t.subagentKey}`)}if(t.kind===`tool_result_run`){let e=t.items.flatMap(e=>e.member_uuids),[n,i]=re(t.items[0].anchor.uuid,e,r);return(0,U.jsxs)(`details`,{className:[`conv-toolresult-run`,n].filter(Boolean).join(` `),style:i,open:!0,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` `,t.items.length,` tool results`]}),(0,U.jsx)(`div`,{className:`conv-toolresult-run-body`,children:t.items.map(e=>(0,U.jsx)(jx,{item:e,ref:ie(e)},e.anchor.uuid))})]},`trr-${t.items[0].anchor.uuid}`)}let[i,a]=re(t.item.anchor.uuid,t.item.member_uuids,r);return(0,U.jsx)(jx,{item:t.item,ref:ie(t.item),className:i,style:a},t.item.anchor.uuid)})}),a&&(0,U.jsx)(`div`,{ref:u,className:`conv-load-sentinel`,children:`Loading more…`})]}),k>0&&!E.current&&(0,U.jsxs)(`button`,{type:`button`,className:`conv-new-pill`,onClick:te,children:[`↓ `,k,` new`]}),M&&(0,U.jsx)(`button`,{type:`button`,className:`conv-jump-top`,onClick:ee,title:`Jump to the start of this turn`,"aria-label":`Jump to the start of this turn`,children:`↑`})]}):(0,U.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Zb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,U.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})})}function Rx(){let e=(0,_.useSyncExternalStore)(V,()=>B().selectedConversationId),t=W(),n=sn();return Vt(zx),yt(t)?n?(0,U.jsx)(`div`,{className:`conv-view conv-view--mobile`,children:e==null?(0,U.jsx)(Ml,{}):(0,U.jsx)(Lx,{sessionId:e,mobileBack:!0})}):(0,U.jsxs)(`div`,{className:`conv-view`,children:[(0,U.jsx)(Ml,{}),e==null?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Zb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,U.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})}):(0,U.jsx)(Lx,{sessionId:e})]}):(0,U.jsxs)(`div`,{className:`conv-disabled`,children:[`Transcript viewing is disabled. Enable it with`,` `,(0,U.jsx)(`code`,{children:`cctally config set dashboard.expose_transcripts true`}),` `,`(loopback is always allowed; restart the dashboard to apply).`]})}var zx=[{key:`/`,scope:`global`,view:`conversations`,when:()=>!B().openModal&&B().inputMode===null,action:()=>{let e=document.querySelector(`.conv-rail-search input`);e?.focus(),e?.select()}},{key:`Escape`,scope:`global`,view:`conversations`,when:()=>!B().openModal,action:()=>{if(B().conversationSearch){H({type:`SET_CONVERSATION_SEARCH`,text:``});return}H({type:`SET_VIEW`,view:`dashboard`})}}];function Bx(){let e=(0,_.useSyncExternalStore)(V,()=>B().prefs.panelOrder),t=(0,_.useSyncExternalStore)(V,()=>B().view);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ot,{}),t===`conversations`?(0,U.jsx)(Rx,{}):(0,U.jsx)(Lo,{items:e,children:(0,U.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,U.jsx)(jo,{id:e,index:t},e))})}),(0,U.jsx)(Pt,{}),(0,U.jsx)(Jn,{}),(0,U.jsx)($n,{}),(0,U.jsx)(Sc,{}),(0,U.jsx)(yl,{}),(0,U.jsx)(as,{}),(0,U.jsx)(Bo,{}),(0,U.jsx)(or,{})]})}function Vx(e){let t=B().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=Wn[t[n]];r&&r.openAction()}var Hx=`Click a panel first, then press S to share it.`;function Ux(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(on).matches}function Wx(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function Gx(){return{key:`S`,scope:`global`,when:()=>{let e=B();return!(Ux()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=Wx();if(e===null){H({type:`SHOW_STATUS_TOAST`,text:Hx});return}if(!re.has(e))return;let t=e;H(R(t,`${t}-panel`))}}}function Kx(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(on).matches}function qx(){return{key:`B`,scope:`global`,when:()=>{let e=B();return!(Kx()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>H(pe())}}function Jx(){return[qx()]}dt(),$e(),Bt(),Dx();var Yx=()=>{let e=B();return!e.update.modalOpen&&!e.doctorModalOpen};zt([{key:`1`,scope:`global`,when:Yx,action:()=>Vx(1)},{key:`2`,scope:`global`,when:Yx,action:()=>Vx(2)},{key:`3`,scope:`global`,when:Yx,action:()=>Vx(3)},{key:`4`,scope:`global`,when:Yx,action:()=>Vx(4)},{key:`5`,scope:`global`,when:Yx,action:()=>Vx(5)},{key:`6`,scope:`global`,when:Yx,action:()=>Vx(6)},{key:`7`,scope:`global`,when:Yx,action:()=>Vx(7)},{key:`8`,scope:`global`,when:Yx,action:()=>Vx(8)},{key:`9`,scope:`global`,when:Yx,action:()=>Vx(9)},{key:`0`,scope:`global`,when:Yx,action:()=>Vx(10)},{key:`r`,scope:`global`,when:Yx,action:()=>Et()},{key:`q`,scope:`global`,when:Yx,action:Nt},{key:`n`,scope:`global`,when:Yx,action:()=>jt(1)},{key:`N`,scope:`global`,when:Yx,action:()=>jt(-1)},{key:`d`,scope:`global`,view:`any`,when:()=>{let e=B();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>H({type:`OPEN_DOCTOR_MODAL`})},Gx(),...Jx(),{key:`c`,scope:`sessions`,when:()=>!B().openModal,action:()=>{let e=B().prefs.sessionsCollapsed;H({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var Xx=document.getElementById(`root`);if(!Xx)throw Error(`missing #root`);(0,v.createRoot)(Xx).render((0,U.jsx)(_.StrictMode,{children:(0,U.jsx)(Bx,{})}));
55
+ `)},`t${t.length}`)),r=[])};for(;n<e.length;){let a=e[n];if(a.kind===`text`){r.push(a.text),n++;continue}if(i(),a.kind===`tool_call`){let r=[];for(;n<e.length&&e[n].kind===`tool_call`;)r.push(e[n]),n++;t.push((0,U.jsx)(Fx,{calls:r},`r${t.length}`));continue}t.push((0,U.jsx)(zx,{block:a},`c${t.length}`)),n++}return i(),t.length===0?null:(0,U.jsx)(`div`,{className:`conv-blocks`,children:t})}function Fx({calls:e}){return Nx(e)?(0,U.jsx)(`div`,{className:`conv-toolrun`,children:(0,U.jsx)(jx,{call:e[0]})}):(0,U.jsxs)(`div`,{className:`conv-toolrun`,children:[e.length>=2&&(0,U.jsxs)(`div`,{className:`conv-toolrun-head`,children:[`tool run · `,e.length,` actions`]}),e.map((e,t)=>(0,U.jsx)(Lx,{call:e},t))]})}function Ix({result:e,name:t,preview:n}){let r=t===`Read`&&!e.is_error?mx(`Read`,n):``;return r?(0,U.jsx)(dx,{code:e.text,lang:r}):(0,U.jsx)(`pre`,{className:`conv-code conv-code--result`,children:e.text})}function Lx({call:e}){if(e.skill_body!=null)return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool conv-chip--skill`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),ex(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body`,children:[(0,U.jsx)(tx,{text:e.skill_body}),(0,U.jsx)(lx,{children:e.skill_body})]})]});let t=Ax(e);if(t)return t;let n=e.result?.is_error?` · error`:e.result?.truncated?` · truncated`:``;return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),ex(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:e.preview}),n&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:n})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-chip-body--io`,children:[(0,U.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,U.jsx)(`div`,{className:`conv-tool-io-label`,children:`request`}),(0,U.jsx)(tx,{text:e.input_summary}),(0,U.jsx)(`pre`,{className:`conv-code conv-code--hl`,children:ix(e.input_summary,`json`)})]}),e.result?(0,U.jsxs)(`div`,{className:`conv-tool-io`,children:[(0,U.jsxs)(`div`,{className:`conv-tool-io-label`,children:[`result`,e.result.is_error?` · error`:` · ok`,e.result.truncated?` · truncated`:``]}),(0,U.jsx)(tx,{text:e.result.text}),(0,U.jsx)(Ix,{result:e.result,name:e.name,preview:e.preview})]}):(0,U.jsx)(`div`,{className:`conv-tool-io`,children:(0,U.jsx)(`div`,{className:`conv-tool-io-label conv-tool-io-label--none`,children:`no result`})})]})]})}function Rx(e){let t=e.split(`
56
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function zx({block:e}){switch(e.kind){case`thinking`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--thinking`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Mb,{}),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Thinking`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:Rx(e.text)})]}),(0,U.jsx)(`div`,{className:`conv-chip-body`,children:(0,U.jsx)(lx,{children:e.text})})]});case`tool_use`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--tool`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),ex(e.name),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:e.name??`tool`})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,U.jsx)(tx,{text:e.input_summary}),(0,U.jsx)(`pre`,{className:`conv-code`,children:e.input_summary})]})]});case`tool_result`:return(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` `,(0,U.jsx)(`span`,{className:`conv-chip-name`,children:`Result`}),(0,U.jsx)(`span`,{className:`conv-chip-preview`,children:Rx(e.text)}),e.is_error&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:` · error`}),e.truncated&&(0,U.jsx)(`span`,{className:`conv-chip-status`,children:` · truncated`})]}),(0,U.jsxs)(`div`,{className:`conv-chip-body conv-tool-io`,children:[(0,U.jsx)(tx,{text:e.text}),(0,U.jsx)(`pre`,{className:`conv-code`,children:e.text})]})]});case`image`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,U.jsx)(Wb,{}),` `,e.media_type??`image`,` · `,e.bytes,` B`]});case`document`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--media`,children:[(0,U.jsx)(Gb,{}),` `,e.media_type??`document`,` · `,e.bytes,` B`]});case`tool_reference`:return(0,U.jsxs)(`span`,{className:`conv-chip conv-chip--ref`,children:[(0,U.jsx)(Ub,{}),` `,e.name??`tool`]});default:return null}}var Bx=`#/conversations`;function Vx(e){let t=e.startsWith(`#`)?e.slice(1):e;if(t===``||t===`/`)return null;if(t===`/conversations`||t===`/conversations/`)return{sessionId:null,turnUuid:null};if(!t.startsWith(`/conversations/`))return null;let n=t.slice(15).split(`/`).filter(e=>e.length>0);return n.length===1?{sessionId:decodeURIComponent(n[0]),turnUuid:null}:n.length===2?{sessionId:decodeURIComponent(n[0]),turnUuid:decodeURIComponent(n[1])}:null}function Hx(e,t){if(e===null)return Bx;let n=encodeURIComponent(e);return t?`${Bx}/${n}/${encodeURIComponent(t)}`:`${Bx}/${n}`}function Ux(e,t,n,r){return`${e}${t}${Hx(n,r)}`}function Wx(e,t){return e===`dashboard`?``:Hx(t)}function Gx(e,t){if(e===window.location.hash)return;let n=e===``?window.location.pathname+window.location.search:e;t===`push`?window.history.pushState(null,``,n):window.history.replaceState(null,``,n)}function Kx(e,t){Gx(Hx(e,t),`replace`)}function qx(e){let t=Vx(window.location.hash);if(t===null){e.dispatch({type:`SET_VIEW`,view:`dashboard`});return}if(t.sessionId===null){e.dispatch({type:`SET_VIEW`,view:`conversations`}),e.dispatch({type:`SELECT_CONVERSATION`,sessionId:null});return}let n=t.turnUuid?{session_id:t.sessionId,uuid:t.turnUuid}:void 0;e.dispatch({type:`OPEN_CONVERSATION`,sessionId:t.sessionId,jump:n})}function Jx(e={getState:B,subscribeStore:V,dispatch:H}){qx(e);let t=()=>{let t=e.getState();return{view:t.view,sid:t.selectedConversationId,jumpUuid:t.conversationJump?.uuid??null}},n=t(),r=()=>qx(e);window.addEventListener(`hashchange`,r);let i=e.subscribeStore(()=>{let r=e.getState(),i=t(),a=r.conversationJump?.session_id===i.sid;if(i.view!==n.view||i.sid!==n.sid){let e=Wx(i.view,i.sid);i.view===`conversations`&&i.sid&&i.jumpUuid&&a&&(e=Hx(i.sid,i.jumpUuid)),Gx(e,`push`)}else i.sid&&i.sid===n.sid&&i.jumpUuid&&i.jumpUuid!==n.jumpUuid&&a&&Gx(Hx(i.sid,i.jumpUuid),`replace`);n=i});return()=>{window.removeEventListener(`hashchange`,r),i()}}function Yx({sessionId:e,uuid:t,className:n}){let{copied:r,copy:i}=Ab();return(0,U.jsx)(`button`,{type:`button`,className:`conv-copy-btn ${n??``}`.trim(),"aria-label":r?`Link copied`:`Copy link to this turn`,onClick:n=>{n.stopPropagation(),i(Ux(window.location.origin,window.location.pathname,e,t)),Kx(e,t)},children:r?(0,U.jsx)(qb,{}):(0,U.jsx)(Jb,{})})}function Xx(e){let t=e.split(`
57
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return t.length>80?`${t.slice(0,80).trimEnd()}…`:t}function Zx({item:e,className:t=``,style:n},r){let i=e=>`conv-item ${e}${t?` ${t}`:``}`;if(e.kind===`tool_result`)return(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--tool_result`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-chip conv-chip--result`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` Tool result`,(0,U.jsx)(Yx,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,U.jsx)(`div`,{className:`conv-chip-body`,children:(0,U.jsx)(Px,{blocks:e.blocks})})]})});if(e.kind===`assistant`){let t=typeof e.cost_usd==`number`&&e.cost_usd>0;return(0,U.jsxs)(`div`,{ref:r,className:i(`conv-item--assistant`),style:n,"data-uuid":e.anchor.uuid,children:[(0,U.jsxs)(`div`,{className:`conv-item-head`,children:[(0,U.jsx)(`span`,{className:`conv-item-label`,children:`Assistant`}),e.model&&(0,U.jsx)(`span`,{className:`chip ${un(e.model)}`,children:e.model})]}),(0,U.jsx)(Px,{blocks:e.blocks}),e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Yx,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)(tx,{text:e.text})]}),t&&(0,U.jsxs)(`div`,{className:`conv-item-cost`,children:[`$`,e.cost_usd.toFixed(4)]})]})}if(e.kind===`meta`){let t=e.meta_kind,a=t===`skill`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ib,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`Skill content`}),e.skill_name&&(0,U.jsxs)(`span`,{className:`conv-meta-name`,children:[`· `,e.skill_name]})]}):t===`command`?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Fb,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`System marker`})]}):(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Fb,{}),` `,(0,U.jsx)(`span`,{className:`conv-meta-label`,children:`Injected context`}),(0,U.jsx)(`span`,{className:`conv-meta-preview`,children:Xx(e.text)})]});return(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--meta`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-meta conv-meta--${t}`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),a]}),t===`command`?(0,U.jsx)(`pre`,{className:`conv-meta-body conv-meta-body--pre`,children:e.text}):(0,U.jsxs)(`div`,{className:`conv-meta-body`,children:[(0,U.jsx)(Px,{blocks:e.blocks}),t===`skill`&&e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Yx,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)(tx,{text:e.text})]})]})]})})}return Hl(e.text)&&e.blocks.every(e=>e.kind===`text`)?(0,U.jsx)(`div`,{ref:r,className:i(`conv-item--system`),style:n,"data-uuid":e.anchor.uuid,children:(0,U.jsxs)(`details`,{className:`conv-system-marker`,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Fb,{}),` System marker`,(0,U.jsx)(Yx,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid,className:`conv-chip-permalink`})]}),(0,U.jsx)(`pre`,{className:`conv-system-marker-body`,children:e.text})]})}):(0,U.jsxs)(`div`,{ref:r,className:i(`conv-item--human`),style:n,"data-uuid":e.anchor.uuid,children:[(0,U.jsx)(`div`,{className:`conv-item-head`,children:(0,U.jsx)(`span`,{className:`conv-item-label`,children:`You`})}),e.text&&(0,U.jsx)(lx,{children:e.text}),(0,U.jsx)(Px,{blocks:e.blocks.filter(e=>e.kind!==`text`)}),e.text&&(0,U.jsxs)(`div`,{className:`conv-item-actions`,children:[(0,U.jsx)(Yx,{sessionId:e.anchor.session_id,uuid:e.anchor.uuid}),(0,U.jsx)(tx,{text:e.text})]})]})}var Qx=(0,_.memo)((0,_.forwardRef)(Zx)),$x=60;function eS(e){return e==null?null:e===`completed`?(0,U.jsx)(`span`,{className:`conv-subagent-ok`,"aria-label":`completed`,title:`completed`,children:`✓`}):e===`error`?(0,U.jsxs)(`span`,{className:`conv-subagent-err`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`✕`}),` error`]}):(0,U.jsxs)(`span`,{className:`conv-subagent-warn`,children:[(0,U.jsx)(`span`,{"aria-hidden":`true`,children:`⚠`}),` `,e]})}function tS(e,t){let n=((e.find(e=>e.kind!==`meta`)??e[0])?.text??``).split(`
58
+ `).map(e=>e.trim()).find(e=>e.length>0)??``;return n?n.length>$x?`${n.slice(0,$x).trimEnd()}…`:n:`Subagent ${t}`}function nS({subagentKey:e,items:t,nested:n,meta:r,getItemRef:i,forceOpen:a=!1,riseClassName:o=``,riseStyle:s}){let[c,l]=(0,_.useState)(!1),u=c||a;(0,_.useEffect)(()=>{a&&l(!0)},[a]);let d=tS(t,e),f=t.reduce((e,t)=>e+(`cost_usd`in t?t.cost_usd??0:0),0),p=[...new Set(t.map(e=>`model`in e?e.model:null).filter(Boolean))];return(0,U.jsxs)(`details`,{className:[n?`conv-sidechain conv-sidechain--nested`:`conv-sidechain`,a?`conv-sidechain--force`:``,o].filter(Boolean).join(` `),style:s,open:u,onToggle:e=>l(e.currentTarget.open),children:[(0,U.jsxs)(`summary`,{className:`conv-sidechain-head`,children:[(0,U.jsx)(`span`,{className:`conv-sidechain-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Pb,{})}),(0,U.jsxs)(`span`,{className:`conv-sidechain-headtext`,children:[(0,U.jsxs)(`span`,{className:`conv-sidechain-kind`,children:[`Subagent`,r?.kind?(0,U.jsxs)(`span`,{className:`conv-sidechain-kindname`,children:[` · `,r.kind]}):null]}),(0,U.jsx)(`span`,{className:`conv-sidechain-title`,children:d}),r&&(r.total_tokens!=null||r.total_duration_ms!=null||r.total_tool_use_count!=null||r.status!=null)&&(0,U.jsxs)(`span`,{className:`conv-sidechain-submeta`,children:[r.total_tokens!=null&&(0,U.jsxs)(`span`,{children:[A.compact(r.total_tokens),` tok`]}),r.total_duration_ms!=null&&(0,U.jsx)(`span`,{children:A.durationMs(r.total_duration_ms)}),r.total_tool_use_count!=null&&(0,U.jsxs)(`span`,{children:[r.total_tool_use_count,` `,r.total_tool_use_count===1?`tool`:`tools`]}),eS(r.status)]})]}),(0,U.jsxs)(`span`,{className:`conv-sidechain-meta`,children:[p.length>0&&(0,U.jsx)(`span`,{className:`conv-sidechain-model`,children:p.join(`, `)}),(0,U.jsxs)(`span`,{children:[t.length,` msgs`]}),(0,U.jsx)(`span`,{className:`conv-sidechain-cost`,children:A.usd2(f)}),(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`})]})]}),(0,U.jsx)(`div`,{className:`conv-sidechain-body`,children:t.map(e=>(0,U.jsx)(Qx,{item:e,ref:u&&i?i(e):void 0},e.anchor.uuid))})]})}function rS(e){for(let t of e.items)if(t.kind===`human`&&!t.is_sidechain&&t.text.trim()&&!Hl(t.text)){let e=t.text.split(`
59
+ `).map(e=>e.trim()).find(Boolean);if(e)return e.length>120?e.slice(0,120).trimEnd()+`…`:e}return e.project_label||e.session_id}function iS({sessionId:e,mobileBack:t}){let{detail:n,loading:r,error:i,hasMore:a,loadMore:o,loadUntil:s}=Rl(e),c=(0,_.useSyncExternalStore)(V,()=>B().conversationJump),l=Ao(),u=(0,_.useRef)(null),d=(0,_.useRef)(new Map),f=(0,_.useRef)(new Map),p=(0,_.useRef)(null),[m,h]=(0,_.useState)(null),g=(0,_.useRef)(new Set),[v,y]=(0,_.useState)(0),b=(0,_.useRef)(0);b.current=v;let x=(0,_.useRef)(null),S=(0,_.useRef)(null),C=(0,_.useRef)(a);C.current=a;let w=(0,_.useRef)(o);w.current=o;let T=(0,_.useRef)(l);T.current=l;let E=(0,_.useRef)(!0),D=(0,_.useRef)(0),O=(0,_.useRef)(!1),[k,j]=(0,_.useState)(0),[M,N]=(0,_.useState)(!1),P=(0,_.useRef)(null),F=(0,_.useCallback)(()=>{let e=S.current;if(!e)return;let t=e.scrollTop+e.clientHeight>=e.scrollHeight-80;E.current=t,t&&j(e=>e&&0);let n=x.current,r=S.current;if(n&&r){let e=r.getBoundingClientRect().top,t=null;for(let r of Array.from(n.children)){let n=r.getBoundingClientRect();if(n.top<=e+1&&n.bottom>e+1){t=r;break}}t&&e-t.getBoundingClientRect().top>160?(P.current=t,N(!0)):(P.current=null,N(!1))}},[]),ee=(0,_.useCallback)(()=>{P.current?.scrollIntoView({block:`start`,behavior:T.current?`auto`:`smooth`}),N(!1)},[]);(0,_.useLayoutEffect)(()=>{let e=S.current,t=n?.items.length??0,r=D.current,i=t-r,o=i>0&&O.current===!1&&r>0;e&&o&&(E.current?e.scrollTo({top:e.scrollHeight}):j(e=>e+i)),D.current=t,O.current=a},[n?.items.length,a]);let te=(0,_.useCallback)(()=>{let e=S.current;e&&(e.scrollTo({top:e.scrollHeight,behavior:T.current?`auto`:`smooth`}),j(0))},[]),ne=(0,_.useMemo)(()=>Bl(n?.items??[]),[n?.items]),I=(0,_.useMemo)(()=>n?rS(n):``,[n]);(0,_.useEffect)(()=>{if(!u.current||!a)return;let e=new IntersectionObserver(e=>{e[0].isIntersecting&&o()});return e.observe(u.current),()=>e.disconnect()},[a,o]),(0,_.useEffect)(()=>{if(!c||c.session_id!==e){m!==null&&h(null);return}if(!n||n.session_id!==e)return;let t=!1;return(async()=>{if(await s(c.uuid),t)return;let e=d.current.get(c.uuid);if(e){e.scrollIntoView({behavior:l?`auto`:`smooth`,block:`center`}),e.classList.add(`conv-item--jumped`),p.current!=null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{e.classList.remove(`conv-item--jumped`),p.current=null},2e3),H({type:`CLEAR_CONVERSATION_JUMP`}),h(null);return}let r=n.items.find(e=>e.member_uuids.includes(c.uuid));if(r&&r.subagent_key!=null&&m!==r.subagent_key){h(r.subagent_key);return}a||H({type:`CLEAR_CONVERSATION_JUMP`})})(),()=>{t=!0}},[c,e,n?.items.length,a,m]),(0,_.useEffect)(()=>()=>{p.current!=null&&window.clearTimeout(p.current)},[]),(0,_.useEffect)(()=>()=>{f.current.clear()},[e]),(0,_.useEffect)(()=>{h(null)},[e]),(0,_.useEffect)(()=>{j(0),E.current=!0,N(!1),P.current=null},[e]),(0,_.useEffect)(()=>{g.current.clear()},[e]),(0,_.useEffect)(()=>{for(let e of ne){let t=e.kind===`subagent`||e.kind===`tool_result_run`?e.items[0]?.anchor.uuid:e.item.anchor.uuid;t&&g.current.add(t)}},[ne]);let re=(0,_.useCallback)((t,n,r)=>l||g.current.has(t)||c!=null&&c.session_id===e&&n.includes(c.uuid)?[``,void 0]:[`conv-rise`,{animationDelay:g.current.size===0?`${r*40}ms`:`0ms`}],[l,c,e]),ie=(0,_.useCallback)(e=>{let t=f.current,n=e.anchor.uuid,r=t.get(n);return r||(r=t=>{for(let n of e.member_uuids)t?d.current.set(n,t):d.current.delete(n)},t.set(n,r)),r},[]);(0,_.useEffect)(()=>{y(0)},[e]),(0,_.useEffect)(()=>{let e=x.current;if(!e)return;let t=e.children;for(let e=0;e<t.length;e++)t[e].classList.toggle(`conv-item--focused`,e===v)},[v,ne]);let ae=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;let n=t.children.length-1;if(n<0)return;let r=b.current,i=Math.max(0,Math.min(n,r+e));if(e>0&&r===n&&C.current){w.current();return}i!==r&&(y(i),t.children[i]?.scrollIntoView({block:`nearest`,behavior:T.current?`auto`:`smooth`}))},[]),oe=(0,_.useCallback)(e=>{let t=x.current;if(!t)return;t.classList.add(`conv-reader-thread--bulk`),t.querySelectorAll(`details`).forEach(t=>{t.open=e});let n=()=>t.classList.remove(`conv-reader-thread--bulk`);typeof requestAnimationFrame==`function`?requestAnimationFrame(n):n()},[]),se=(0,_.useCallback)(()=>{S.current?.scrollTo({top:0,behavior:T.current?`auto`:`smooth`}),y(0)},[]);return Vt((0,_.useMemo)(()=>{let e=()=>!B().openModal&&B().inputMode===null,t=(t,n)=>({key:t,scope:`global`,view:`conversations`,when:e,action:n});return[t(`j`,()=>ae(1)),t(`k`,()=>ae(-1)),t(`[`,()=>oe(!1)),t(`]`,()=>oe(!0)),t(`g`,()=>se())]},[])),r&&!n?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--loading`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Yb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Loading conversation…`})]})}):i?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--error`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Xb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:i})]})}):n?(0,U.jsxs)(`div`,{className:`conv-reader`,children:[(0,U.jsxs)(`div`,{className:`conv-reader-head`,children:[t&&(0,U.jsx)(`button`,{type:`button`,className:`conv-back`,onClick:()=>H({type:`SELECT_CONVERSATION`,sessionId:null}),children:`← Back`}),(0,U.jsx)(`div`,{className:`conv-reader-title`,children:I||n.session_id}),(0,U.jsxs)(`div`,{className:`conv-reader-meta`,children:[n.project_label||`—`,` · `,n.git_branch??`—`,` · `,A.usd2(n.cost_usd),` · `,n.models.join(`, `)]})]}),(0,U.jsxs)(`div`,{className:`conv-reader-body`,ref:S,onScroll:F,children:[(0,U.jsx)(`div`,{className:`conv-reader-thread`,ref:x,children:ne.map((t,r)=>{if(t.kind===`subagent`){let i=t.items.flatMap(e=>e.member_uuids),[a,o]=re(t.items[0].anchor.uuid,i,r);return(0,U.jsx)(nS,{subagentKey:t.subagentKey,items:t.items,nested:t.nested,meta:n.subagent_meta?.[t.subagentKey],getItemRef:ie,forceOpen:n.session_id===e&&t.subagentKey===m,riseClassName:a,riseStyle:o},`sc-${t.subagentKey}`)}if(t.kind===`tool_result_run`){let e=t.items.flatMap(e=>e.member_uuids),[n,i]=re(t.items[0].anchor.uuid,e,r);return(0,U.jsxs)(`details`,{className:[`conv-toolresult-run`,n].filter(Boolean).join(` `),style:i,open:!0,children:[(0,U.jsxs)(`summary`,{children:[(0,U.jsx)(`span`,{className:`conv-chev`,"aria-hidden":`true`}),(0,U.jsx)(Hb,{}),` `,t.items.length,` tool results`]}),(0,U.jsx)(`div`,{className:`conv-toolresult-run-body`,children:t.items.map(e=>(0,U.jsx)(Qx,{item:e,ref:ie(e)},e.anchor.uuid))})]},`trr-${t.items[0].anchor.uuid}`)}let[i,a]=re(t.item.anchor.uuid,t.item.member_uuids,r);return(0,U.jsx)(Qx,{item:t.item,ref:ie(t.item),className:i,style:a},t.item.anchor.uuid)})}),a&&(0,U.jsx)(`div`,{ref:u,className:`conv-load-sentinel`,children:`Loading more…`})]}),k>0&&!E.current&&(0,U.jsxs)(`button`,{type:`button`,className:`conv-new-pill`,onClick:te,children:[`↓ `,k,` new`]}),M&&(0,U.jsx)(`button`,{type:`button`,className:`conv-jump-top`,onClick:ee,title:`Jump to the start of this turn`,"aria-label":`Jump to the start of this turn`,children:`↑`})]}):(0,U.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Zb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,U.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})})}function aS(){let e=(0,_.useSyncExternalStore)(V,()=>B().selectedConversationId),t=W(),n=sn();return Vt(oS),yt(t)?n?(0,U.jsx)(`div`,{className:`conv-view conv-view--mobile`,children:e==null?(0,U.jsx)(Ml,{}):(0,U.jsx)(iS,{sessionId:e,mobileBack:!0})}):(0,U.jsxs)(`div`,{className:`conv-view`,children:[(0,U.jsx)(Ml,{}),e==null?(0,U.jsx)(`div`,{className:`conv-reader conv-reader--empty`,children:(0,U.jsxs)(`div`,{className:`conv-state`,children:[(0,U.jsx)(`span`,{className:`conv-state-glyph`,"aria-hidden":`true`,children:(0,U.jsx)(Zb,{})}),(0,U.jsx)(`div`,{className:`conv-state-title`,children:`Select a conversation`}),(0,U.jsx)(`div`,{className:`conv-state-hint`,children:`Choose one from the list to start reading.`})]})}):(0,U.jsx)(iS,{sessionId:e})]}):(0,U.jsxs)(`div`,{className:`conv-disabled`,children:[`Transcript viewing is disabled. Enable it with`,` `,(0,U.jsx)(`code`,{children:`cctally config set dashboard.expose_transcripts true`}),` `,`(loopback is always allowed; restart the dashboard to apply).`]})}var oS=[{key:`/`,scope:`global`,view:`conversations`,when:()=>!B().openModal&&B().inputMode===null,action:()=>{let e=document.querySelector(`.conv-rail-search input`);e?.focus(),e?.select()}},{key:`Escape`,scope:`global`,view:`conversations`,when:()=>!B().openModal,action:()=>{if(B().conversationSearch){H({type:`SET_CONVERSATION_SEARCH`,text:``});return}H({type:`SET_VIEW`,view:`dashboard`})}}];function sS(){let e=(0,_.useSyncExternalStore)(V,()=>B().prefs.panelOrder),t=(0,_.useSyncExternalStore)(V,()=>B().view);return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(Ot,{}),t===`conversations`?(0,U.jsx)(aS,{}):(0,U.jsx)(Lo,{items:e,children:(0,U.jsx)(`div`,{className:`grid`,children:e.map((e,t)=>(0,U.jsx)(jo,{id:e,index:t},e))})}),(0,U.jsx)(Pt,{}),(0,U.jsx)(Jn,{}),(0,U.jsx)($n,{}),(0,U.jsx)(Sc,{}),(0,U.jsx)(yl,{}),(0,U.jsx)(as,{}),(0,U.jsx)(Bo,{}),(0,U.jsx)(or,{})]})}function cS(e){let t=B().prefs.panelOrder,n=e-1;if(n<0||n>=t.length)return;let r=Wn[t[n]];r&&r.openAction()}var lS=`Click a panel first, then press S to share it.`;function uS(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(on).matches}function dS(){if(typeof document>`u`)return null;let e=document.activeElement;if(!e||!(e instanceof Element))return null;let t=e.closest(`[data-panel-kind]`);return t?t.getAttribute(`data-panel-kind`):null}function fS(){return{key:`S`,scope:`global`,when:()=>{let e=B();return!(uS()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>{let e=dS();if(e===null){H({type:`SHOW_STATUS_TOAST`,text:lS});return}if(!re.has(e))return;let t=e;H(R(t,`${t}-panel`))}}}function pS(){return typeof window>`u`||!window.matchMedia?!1:window.matchMedia(on).matches}function mS(){return{key:`B`,scope:`global`,when:()=>{let e=B();return!(pS()||e.shareModal!==null||e.composerModal!==null||e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>H(pe())}}function hS(){return[mS()]}dt(),$e(),Bt(),Jx();var gS=()=>{let e=B();return!e.update.modalOpen&&!e.doctorModalOpen};zt([{key:`1`,scope:`global`,when:gS,action:()=>cS(1)},{key:`2`,scope:`global`,when:gS,action:()=>cS(2)},{key:`3`,scope:`global`,when:gS,action:()=>cS(3)},{key:`4`,scope:`global`,when:gS,action:()=>cS(4)},{key:`5`,scope:`global`,when:gS,action:()=>cS(5)},{key:`6`,scope:`global`,when:gS,action:()=>cS(6)},{key:`7`,scope:`global`,when:gS,action:()=>cS(7)},{key:`8`,scope:`global`,when:gS,action:()=>cS(8)},{key:`9`,scope:`global`,when:gS,action:()=>cS(9)},{key:`0`,scope:`global`,when:gS,action:()=>cS(10)},{key:`r`,scope:`global`,when:gS,action:()=>Et()},{key:`q`,scope:`global`,when:gS,action:Nt},{key:`n`,scope:`global`,when:gS,action:()=>jt(1)},{key:`N`,scope:`global`,when:gS,action:()=>jt(-1)},{key:`d`,scope:`global`,view:`any`,when:()=>{let e=B();return!(e.openModal!==null||e.update.modalOpen||e.inputMode!==null)},action:()=>H({type:`OPEN_DOCTOR_MODAL`})},fS(),...hS(),{key:`c`,scope:`sessions`,when:()=>!B().openModal,action:()=>{let e=B().prefs.sessionsCollapsed;H({type:`SAVE_PREFS`,patch:{sessionsCollapsed:!e}})}}]);var _S=document.getElementById(`root`);if(!_S)throw Error(`missing #root`);(0,v.createRoot)(_S).render((0,U.jsx)(_.StrictMode,{children:(0,U.jsx)(sS,{})}));
@@ -1 +1 @@
1
- @font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(/static/assets/newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-600-normal-30OJ_TG_.woff2)format("woff2"),url(/static/assets/newsreader-latin-600-normal-DUnT2r2g.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a0b10;--panel-bg:#0d0f16;--panel-bg-2:#11131c;--border-soft:#ffffff0f;--text:#d9dde5;--text-dim:#8b92a3;--text-faint:#5a6070;--accent-green:#3ddc84;--accent-purple:#c084fc;--accent-pink:#ec4899;--accent-magenta:#d946ef;--accent-amber:#fbbf24;--accent-red:#ef4444;--accent-orange:#fb923c;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-indigo:#818cf8;--accent-teal:#2dd4bf;--chip-sonnet:#1f6d3a;--chip-opus:#6d28d9;--chip-haiku:#1d4ed8;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-prose:"Newsreader", Georgia, serif;--topbar-h:64px}.panel{scroll-margin-top:var(--topbar-h)}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13.5px;line-height:1.45}body{box-sizing:border-box;padding:16px}*{box-sizing:border-box}.mute{color:var(--text-dim)}.topbar{border:1px solid var(--accent-blue);background:var(--panel-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 18px;display:flex}.topbar .stat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.topbar .stat .k{color:var(--text-dim)}.topbar .stat .v{color:var(--text);font-weight:600}.topbar .stat .hi-green{color:var(--accent-green);font-size:15px;font-weight:700}.topbar .stat .hi-cyan{color:var(--accent-cyan);font-size:15px;font-weight:700}.topbar .stat .hi-amber{color:var(--accent-amber);font-size:15px;font-weight:700}.pill-warn{background:var(--accent-amber);color:#1a1400;letter-spacing:.5px;font-size:12px;font-weight:800;font-family:var(--font-mono);border-radius:4px;padding:2px 10px}.topbar .icon{width:16px;height:16px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-actions>.topbar-icon-btn{display:none}.grid{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.grid{grid-template-columns:minmax(0,1fr)}}.topbar-brand{gap:8px!important}.topbar-brand .brand-name{color:var(--text);letter-spacing:.01em;font-weight:700}.topbar-brand .brand-version{color:var(--text-dim);font-weight:500}.badge-update{color:var(--accent-amber);cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);background:#fbbf241f;border:1px solid #fbbf2473;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.badge-update:hover{background:#fbbf2438}.badge-update:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.badge-update-arrow,.badge-update-version{display:inline-block}.doctor-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border:1px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.doctor-chip:hover{background:#ffffff0a}.doctor-chip:focus-visible{outline-offset:2px;outline:2px solid}.doctor-chip__dot{font-size:10px;line-height:1}.doctor-chip__label{display:inline-block}.doctor-chip--ok{color:var(--accent-green)}.doctor-chip--warn{color:var(--accent-amber)}.doctor-chip--fail{color:var(--accent-red)}.doctor-modal-card{width:min(720px,92vw)}.doctor-modal__summary{color:var(--text-dim);font-family:var(--font-mono);margin:0 0 12px}.doctor-modal__error{color:var(--accent-red);margin:0 0 12px}.doctor-modal__category{border:1px solid var(--border-soft);border-radius:6px;margin:8px 0;overflow:hidden}.doctor-modal__category--warn{border-color:#fbbf2480}.doctor-modal__category--fail{border-color:#f8717180}.doctor-modal__category-header{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff05;border:none;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.doctor-modal__category-header:hover{background:#ffffff0d}.doctor-modal__category--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__category--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__category--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__check{border-top:1px solid var(--border-soft);padding:8px 14px}.doctor-modal__check p{margin:0 0 4px}.doctor-modal__check--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__check--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__check--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__remediation{color:var(--text-dim);font-style:italic}.doctor-modal__details-toggle{color:var(--accent-cyan);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.doctor-modal__details{background:#00000040;border-radius:4px;max-height:200px;margin:6px 0 0;padding:8px;font-size:12px;overflow:auto}.doctor-modal__header-actions{align-items:center;gap:8px;display:flex}.doctor-modal__refresh{border:1px solid var(--border-soft);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px}.doctor-modal__refresh:hover{background:#ffffff0a}.doctor-modal__refresh[disabled]{opacity:.5;cursor:wait}.update-modal-root{z-index:110;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-modal-card{width:min(720px,92vw)}.update-modal-card.accent-red{border-color:var(--accent-red)}.update-modal-body{padding:4px 0 0}.update-kv{grid-template-columns:96px 1fr;gap:7px 16px;margin-bottom:14px;display:grid}.update-kv .k{color:var(--text-dim)}.update-kv .v{color:var(--text)}.update-kv .v .muted{color:var(--text-dim);font-size:12px}.update-row-label{color:var(--text-dim);margin:6px 0 4px;font-size:12px}.update-cmd{background:var(--bg);border:1px solid var(--border-soft);color:var(--accent-cyan);font-size:12px;font-family:var(--font-mono);border-radius:4px;margin:0 0 14px;padding:7px 12px;display:inline-block}.update-cmd-inline{margin:0}.update-link a{color:var(--accent-blue);font-size:12px;text-decoration:none}.update-link a:hover{text-decoration:underline}.update-prerelease-note{color:var(--text-dim);white-space:pre-line;background:#c084fc14;border:1px solid #c084fc4d;border-radius:4px;margin:12px 0 4px;padding:8px 12px;font-size:12px}.update-manual-note{color:var(--text-dim);margin:4px 0 14px;font-size:12px}.update-manual-note a{color:var(--accent-blue)}.update-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.update-btn{cursor:pointer;border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text);border-radius:4px;padding:6px 14px;font-family:inherit;font-size:12px}.update-btn:hover:not([disabled]){background:var(--panel-bg)}.update-btn[disabled]{opacity:.55;cursor:not-allowed}.update-btn-primary{background:var(--accent-amber);border-color:var(--accent-amber);color:#1a1400;font-weight:700}.update-btn-primary:hover:not([disabled]){background:#ffd44a;border-color:#ffd44a}.update-running-row{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.update-running-row-success .update-cmd-inline{color:var(--accent-green)}.update-running-row-failed .update-cmd-inline{color:var(--accent-red)}.update-spinner{color:var(--accent-blue);font-size:16px;animation:1.1s linear infinite update-spin;display:inline-block}@keyframes update-spin{to{transform:rotate(360deg)}}.update-check{color:var(--accent-green);font-size:16px;font-weight:700}.update-x{color:var(--accent-red);font-size:16px;font-weight:700}.update-elapsed{color:var(--text-dim);margin-left:auto;font-size:12px}.update-success-reconnect{color:var(--text-dim);font-size:12px}.update-stream{background:var(--bg);border:1px solid var(--border-soft);color:var(--text);font-size:12px;line-height:1.55;font-family:var(--font-mono);white-space:pre;border-radius:4px;max-height:260px;margin:4px 0 6px;padding:11px 13px;overflow:auto}.update-stream-fail{max-height:200px}.update-stream-line{color:var(--text)}.update-stream-line.err{color:var(--accent-red)}.update-stream-step{color:var(--accent-blue);font-weight:600}.update-stream-exit,.update-stream-trunc,.update-stream-empty{color:var(--text-dim);font-style:italic}.update-stream-cap{color:var(--text-dim);text-align:right;margin:4px 0 0;font-size:11px}.panel{border:1px solid var(--border-soft);background:radial-gradient(120% 120% at 0% 0%, #ffffff06 0%, transparent 60%), linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;flex-direction:column;min-width:0;min-height:320px;padding:16px 22px 14px;transition:box-shadow .12s;display:flex}.panel.accent-green{border-color:var(--accent-green);--accent-line:#3ddc8447;--accent-glow:#3ddc840f}.panel.accent-purple{border-color:var(--accent-purple);--accent-line:#c084fc4d;--accent-glow:#c084fc0f}.panel.accent-amber{border-color:var(--accent-amber);--accent-line:#fbbf2442;--accent-glow:#fbbf240f}.panel.accent-orange{border-color:var(--accent-orange);--accent-line:#fb923c47;--accent-glow:#fb923c0f}.panel.accent-cyan{border-color:var(--accent-cyan);--accent-line:#22d3ee52;--accent-glow:#22d3ee0f;--pill-bg:#22d3ee2e}.panel.accent-pink{border-color:var(--accent-pink);--accent-line:#ec489952;--accent-glow:#ec48990f;--pill-bg:#ec48992e}.panel.accent-blue{border-color:var(--accent-blue);--accent-line:#60a5fa4d;--accent-glow:#60a5fa0f;--pill-bg:#60a5fa2e}.panel.accent-indigo{border-color:var(--accent-indigo);--accent-line:#818cf84d;--accent-glow:#818cf80f;--pill-bg:#818cf82e}.panel.accent-magenta{border-color:var(--accent-magenta);--accent-line:#d946ef4d;--accent-glow:#d946ef0f;--pill-bg:#d946ef2e}.panel.accent-teal{border-color:var(--accent-teal);--accent-line:#2dd4bf47;--accent-glow:#2dd4bf0f;--pill-bg:#2dd4bf2e}.panel:hover{box-shadow:inset 0 0 28px var(--accent-glow);cursor:pointer}.panel-header{border-bottom:1px solid var(--accent-line);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-header .icon{width:18px;height:18px}.panel-header h3{letter-spacing:.2px;font-size:15px;font-weight:700;font-family:var(--font-mono);margin:0}.panel-header h3 .sub{color:var(--text-dim);margin-left:6px;font-weight:500}.panel-body{flex:auto}.panel-foot{border-top:1px solid var(--accent-line);color:var(--text-dim);margin-top:auto;padding-top:10px;font-size:13px}.cw-body{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=1100px){.cw-body{grid-template-columns:1fr}}.cw-big .label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.cw-big .num{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;margin-bottom:18px;font-size:72px;font-weight:800;line-height:1.05}.progress{gap:2px;height:16px;margin-bottom:6px;display:flex}.progress .cell{background:#1a1f2b;border-radius:1px;flex:auto}.progress .cell.on{background:var(--accent-green)}.progress-scale{color:var(--text-faint);justify-content:space-between;font-size:12px;display:flex}.cw-left{flex-direction:column;justify-content:flex-start;gap:16px;display:flex}.cw-kv.kv-five-hour .sub.delta-low{color:var(--accent-green)}.cw-kv.kv-five-hour .sub.delta-moderate{color:var(--accent-cyan)}.cw-kv.kv-five-hour .sub.delta-elevated{color:var(--accent-amber)}.cw-kv.kv-five-hour .sub.delta-high{color:var(--accent-red)}.credit-chip{color:var(--accent-amber);margin-left:6px}.cw-right{border-left:1px solid var(--border-soft);flex-direction:column;gap:18px;padding-left:20px;display:flex}@media (width<=1100px){.cw-right{border-left:none;border-top:1px solid var(--border-soft);padding-top:16px;padding-left:0}}.cw-kv{align-items:flex-start;gap:10px;display:flex}.cw-kv .icon{width:18px;height:18px;color:var(--accent-cyan);flex-shrink:0;margin-top:2px}.cw-kv.kv-spent .icon{color:var(--accent-magenta)}.cw-kv.kv-reset .icon{color:var(--accent-amber)}.cw-kv .body{flex:1}.cw-kv .row1{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cw-kv .row1 .k{color:var(--text);font-weight:600}.cw-kv .row1 .v{font-size:18px;font-weight:800}.cw-kv .row1 .v.cyan{color:var(--accent-cyan)}.cw-kv .row1 .v.magenta{color:var(--accent-magenta)}.cw-kv .row1 .v.amber{color:var(--accent-amber);font-size:15px}.cw-kv .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.cw-kv .sub .magenta{color:var(--accent-magenta)}.panel-foot.cw-foot{align-items:center;gap:8px;display:flex}.panel-foot.cw-foot .icon{width:14px;height:14px;color:var(--accent-cyan)}.warn-banner{background:var(--accent-amber);color:#1a1400;letter-spacing:1px;font-size:18px;font-weight:800;font-family:var(--font-mono);background-image:radial-gradient(#0000002e 1px,#0000 1px);background-size:6px 6px;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.warn-banner.good{background-color:var(--accent-green);color:#0b2a16}.warn-banner.warn{background-color:var(--accent-amber);color:#1a1400}.warn-banner.over{background-color:var(--accent-red);color:#ffe7e7}.fc-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.fc-row .left{color:var(--text);align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.fc-row .left .icon-box{background:#ffffff05;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fc-row .right{text-align:right;color:var(--text);font-size:14px;font-weight:700}.fc-row .right .num{margin-right:6px;font-size:18px;font-weight:800}.fc-row .right .at{color:var(--accent-blue);font-weight:500}.fc-row.fc-wkavg .icon-box .icon{color:var(--accent-blue)}.fc-row.fc-wkavg .right .num{color:var(--accent-green)}.fc-row.fc-24h .icon-box .icon,.fc-row.fc-24h .right .num{color:var(--accent-red)}.fc-row.fc-budget-100 .icon-box .icon,.fc-row.fc-budget-100 .right .num,.fc-row.fc-budget-90 .icon-box .icon,.fc-row.fc-budget-90 .right .num{color:var(--accent-green)}.fc-row .right .per{color:var(--text-dim);font-size:12.5px;font-weight:500}.fc-divider{border-top:1px solid var(--border-soft);margin:6px 0}.panel-foot.fc-conf{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.panel-foot.fc-conf .lbl{color:var(--text-dim);align-items:center;gap:8px;display:flex}.panel-foot.fc-conf .lbl .icon{color:var(--accent-pink);width:14px;height:14px}.panel-foot.fc-conf .lbl .val{color:var(--accent-pink);margin-left:4px;font-weight:700}.panel-foot.fc-conf .dots{gap:4px;display:flex}.panel-foot.fc-conf .dots .d{background:#262a35;border-radius:1px;width:14px;height:8px}.panel-foot.fc-conf .dots .d.on{background:var(--accent-purple)}.trend-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.trend-table thead th{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 10px 8px 0;font-weight:700}.trend-table thead th.num{text-align:right}.trend-table thead th.c-week{color:var(--text)}.trend-table thead th.c-used{color:var(--accent-green)}.trend-table thead th.c-dollar{color:var(--accent-purple)}.trend-table thead th.c-delta{color:var(--accent-amber)}.trend-table tbody td{padding:5px 10px 5px 0}.trend-table tbody td.num{text-align:right}.trend-table tbody tr.current td{color:var(--accent-cyan);background:#22d3ee0f;border-top:1px solid #22d3ee40;border-bottom:1px solid #22d3ee40}.trend-table tbody td.dollar{color:var(--accent-purple)}.trend-table tbody td.delta-pos{color:var(--accent-red)}.trend-table tbody td.delta-neg{color:var(--accent-green)}.trend-spark-title{color:var(--accent-cyan);margin-top:18px;font-weight:700}.trend-spark{grid-template-columns:repeat(9,1fr);align-items:end;gap:6px;height:72px;margin:10px 0 6px;display:grid}.trend-spark .bar{background:var(--accent-purple);border-radius:2px}.trend-spark-legend{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.trend-spark-legend .line{height:1px;color:var(--text-dim);background-image:linear-gradient(90deg,currentColor 50%,#0000 50%);background-size:6px 1px;flex:1}.sort-pill{border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text-dim);cursor:pointer;font-size:12.5px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.sort-pill:hover{border-color:var(--accent-orange);color:var(--text)}.sort-pill .icon{width:12px;height:12px}.sess-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.sess-table thead th{text-align:left;color:var(--accent-amber);padding:4px 10px 8px 0;font-weight:700}.sess-table thead th.num{text-align:right}.sess-table tbody td{white-space:nowrap;padding:5px 10px 5px 0}.sess-table tbody td.num{text-align:right}.sess-table tbody td.started{color:var(--accent-cyan)}.sess-table tbody td.project{color:var(--accent-blue)}.sess-table tbody td.cost-low{color:var(--accent-green)}.sess-table tbody td.cost-mid{color:var(--accent-amber)}.sess-table tbody td.cost-high{color:var(--accent-red)}.sess-table tbody td.cost-xs{color:var(--accent-green)}.chip{font-size:12px;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:1px 8px;display:inline-block}.chip.sonnet{background:var(--chip-sonnet);color:#b6f7cc}.chip.opus{background:var(--chip-opus);color:#e0cfff}.chip.haiku{background:var(--chip-haiku);color:#cfdcff}.chip.chip-aging{color:#cbd5e1;background:#94a3b82e;border:1px solid #94a3b852}.chip.chip-stale{color:var(--accent-amber);background:#fbbf242e;border:1px solid #fbbf2473;font-weight:800}.footer{border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;flex-wrap:wrap;gap:24px;padding:10px 18px;font-size:13px;display:flex}.kb{align-items:center;gap:8px;display:inline-flex}.kb kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text);border-radius:3px;padding:1px 8px;font-size:12px}.kb kbd.accent-green{color:var(--accent-green);border-color:var(--accent-green)}.kb kbd.accent-purple{color:var(--accent-purple);border-color:var(--accent-purple)}.kb kbd.accent-amber{color:var(--accent-amber);border-color:var(--accent-amber)}.kb kbd.accent-red{color:var(--accent-red);border-color:var(--accent-red)}.kb kbd.mute{color:var(--text-faint);border-color:var(--border-soft)}#help-overlay[hidden]{display:none}#help-overlay{z-index:1000;font-family:var(--font-mono);background:#0a0b10d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#help-overlay .help-card{background:var(--panel-bg);border:1px solid var(--accent-blue);min-width:320px;color:var(--text);border-radius:8px;padding:24px 28px}#help-overlay .help-header{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}#help-overlay .help-card h2{color:var(--accent-blue);margin:0;font-size:15px}#help-overlay .help-card table{border-collapse:collapse}#help-overlay .help-card td{vertical-align:top;padding:4px 12px 4px 0}#help-overlay .help-card td kbd,#help-overlay .help-card .help-gesture-list kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:3px;padding:1px 8px}#help-overlay .help-card .meta{color:var(--text-dim);margin-top:16px;font-size:12px}#modal-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal-root[hidden]{display:none}.modal-backdrop{background:#0000008c;position:absolute;inset:0}.modal-card{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-green);border-radius:8px;flex-direction:column;width:min(720px,92vw);max-height:85vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.modal-card.accent-purple{border-color:var(--accent-purple)}.modal-card.accent-amber{border-color:var(--accent-amber)}.modal-card.accent-orange{border-color:var(--accent-orange)}.modal-card.accent-cyan{border-color:var(--accent-cyan)}.modal-card.accent-pink{border-color:var(--accent-pink)}.modal-card.accent-indigo{border-color:var(--accent-indigo)}.modal-handle{display:none}.modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:500}.modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1}.modal-close:hover{color:var(--accent-red)}.modal-body{scrollbar-gutter:stable;padding:16px 18px;overflow:auto}.empty-state{color:var(--text-dim);text-align:center;padding:18px}.m-hero{gap:14px 24px;padding-bottom:14px;display:grid}.m-hero.cols-2{grid-template-columns:repeat(2,1fr)}.m-hero.cols-3{grid-template-columns:repeat(3,1fr)}.m-hero.cols-4{grid-template-columns:repeat(4,1fr)}.m-kv{align-items:flex-start;gap:10px;display:flex}.m-kv .icon{flex-shrink:0;width:20px;height:20px;margin-top:3px}.m-kv .v{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.m-kv .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:10.5px;font-weight:500}.m-kv .sub{color:var(--text-dim);margin-top:2px;font-size:11px}.m-sec{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin:18px 0 10px;font-size:11.5px;font-weight:600;display:flex}.m-sec .icon{flex-shrink:0;width:15px;height:15px}.m-sec.sec-tok{color:var(--accent-green)}.m-sec.sec-mod{color:var(--accent-purple)}.m-sec.sec-costm{color:var(--accent-magenta)}.m-sec.sec-src{color:var(--accent-blue)}.m-sec.sec-prog{color:var(--accent-green)}.m-sec.sec-ms{color:var(--accent-purple)}.m-sec.sec-range{color:var(--accent-amber)}.m-sec.sec-rates{color:var(--accent-cyan)}.m-sec.sec-bud{color:var(--accent-magenta)}.m-sec.sec-wk{color:var(--accent-green)}.m-sec.sec-spark{color:var(--accent-amber)}.m-sec.sec-tbl{color:var(--accent-purple)}.m-sec.sec-burn{color:var(--accent-amber)}.m-sec.sec-5h{color:var(--accent-cyan)}.mcw-5h-credit-row .mcw-5h-credit-cell{color:var(--accent-amber);border-top:1px dashed var(--border-soft);border-bottom:1px dashed var(--border-soft);text-align:center;background:#fbbf2414;font-weight:600}.m-pill{border:1px solid #0000;border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600}.m-pill.accent-green{color:var(--accent-green);background:#3ddc8424;border-color:#3ddc844d}.m-pill.accent-amber{color:var(--accent-amber);background:#fbbf2426;border-color:#fbbf2459}.m-pill.accent-cyan{color:var(--accent-cyan);background:#22d3ee24;border-color:#22d3ee4d}.m-pill.accent-magenta{color:var(--accent-magenta);background:#d946ef24;border-color:#d946ef4d}.m-pill.accent-purple{color:var(--accent-purple);background:#c084fc2e;border-color:#c084fc59}.m-pill.accent-blue{color:var(--accent-blue);background:#60a5fa24;border-color:#60a5fa4d}.m-pill.accent-red{color:var(--accent-red);background:#ef444424;border-color:#ef44444d}.m-chipstrip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.m-histable{border-collapse:collapse;width:100%;font-size:12.5px}.m-histable th,.m-histable td{text-align:left;padding:5px 10px}.m-histable th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);font-size:10.5px;font-weight:400}.m-histable td.num,.m-histable th.num{text-align:right;font-variant-numeric:tabular-nums}.m-histable tbody tr:nth-child(2n){background:#ffffff04}.m-histable tr.cur{background:#fbbf2414}.m-histable tr.cur td:first-child{border-left:2px solid var(--accent-amber)}.mcw-herobar{padding:4px 0 6px}.mcw-bignum{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;font-size:46px;font-weight:800;line-height:1}.mcw-bignum .unit{color:var(--text-dim);letter-spacing:0;margin-left:4px;font-size:22px;font-weight:500}.mcw-pbar-wrap{margin-top:12px}.mcw-pbar{border:1px solid var(--border-soft);background:#ffffff0a;border-radius:4px;height:22px;position:relative;overflow:visible}.mcw-pbar .fill{background:linear-gradient(90deg, var(--accent-green), #5ef0a4);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.mcw-pbar .ticks .tick{background:#c084fca6;width:2px;position:absolute;top:-4px;bottom:-4px}.mcw-pbar .ticks .tick:after{content:attr(data-p);color:var(--accent-purple);font-size:9px;font-weight:600;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.mcw-pbar .marker{background:var(--accent-green);width:3px;position:absolute;top:-5px;bottom:-5px;box-shadow:0 0 6px #3ddc84b3}.mcw-pscale{color:var(--text-dim);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.mcw-mini{color:var(--text-dim);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:12px;display:flex}.mcw-mini .s .k{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.mcw-mini .s .v{color:var(--text);margin-left:6px;font-size:14px;font-weight:700}.mcw-mini .s .v.v-magenta{color:var(--accent-magenta)}.mcw-mini .s .v.v-cyan{color:var(--accent-cyan)}.mcw-mshead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mcw-ms-sub{color:var(--text-dim);font-size:11px}#mcw-table .pct-cell{text-align:center;min-width:26px;font-family:var(--font-mono);padding:1px 4px;font-size:11px;display:inline-block}#mcw-table .m-marginal{color:var(--accent-amber);font-family:var(--font-mono)}#mcw-table .m-fh{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono)}#mcw-table td.d{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.m-kv.kv-wa .icon{color:var(--accent-blue)}.m-kv.kv-r24 .icon{color:var(--accent-amber)}.m-kv.kv-wa .v{color:var(--accent-blue)}.m-kv.kv-r24 .v{color:var(--accent-amber)}.mfc-rangewrap{padding:52px 0 32px;position:relative}.mfc-rangetrack{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;height:16px;position:relative;overflow:visible;box-shadow:inset 0 1px #00000073}.mfc-zone{pointer-events:none;position:absolute;top:0;bottom:0}.mfc-zone.safe{background:#3ddc841a;border-radius:5px 0 0 5px;width:81.82%;left:0}.mfc-zone.warn{background:#fbbf2433;width:9.09%;left:81.82%}.mfc-zone.over{background:#ef444440;border-radius:0 5px 5px 0;left:90.91%;right:0}.mfc-bound{pointer-events:none;width:1px;position:absolute;top:-3px;bottom:-3px}.mfc-bound.b90{background:#fbbf248c;left:81.82%}.mfc-bound.b100{background:#ef4444a6;left:90.91%}.mfc-bound .lbl{font-size:9.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.mfc-bound.b90 .lbl{color:var(--accent-amber)}.mfc-bound.b100 .lbl{color:var(--accent-red)}.mfc-rangeband{background:linear-gradient(90deg, var(--accent-blue), var(--accent-amber));opacity:.85;pointer-events:none;border-radius:2px;height:8px;position:absolute;top:4px}.mfc-chev{filter:drop-shadow(0 1px 1px #0000008c);pointer-events:none;border-top:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:left .25s ease-out;position:absolute;top:-10px;transform:translate(-50%)}.mfc-chev.wa{color:var(--accent-blue)}.mfc-chev.r24{color:var(--accent-amber)}.mfc-pills{pointer-events:none;width:100%;height:18px;position:absolute;top:10px;left:0}.mfc-pill{font-size:10.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;border-radius:10px;padding:2px 8px;transition:left .25s ease-out;position:absolute;top:0;transform:translate(-50%);box-shadow:0 1px 2px #00000059}.mfc-pill.wa{color:var(--accent-blue);background:#60a5fa38;border:1px solid #60a5fa99}.mfc-pill.r24{color:var(--accent-amber);background:#fbbf2438;border:1px solid #fbbf24a6}.mfc-leaders{pointer-events:none;width:100%;height:18px;position:absolute;top:28px;left:0;overflow:visible}.mfc-leaders path{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.mfc-leaders path.wa{stroke:var(--accent-blue)}.mfc-leaders path.r24{stroke:var(--accent-amber)}.mfc-kvgrid{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.mfc-kvgrid.mfc-kvgrid-single{grid-template-columns:1fr}.mfc-krow{border-bottom:1px dotted var(--border-soft);justify-content:space-between;align-items:baseline;padding:6px 0;font-size:12.5px;display:flex}.mfc-krow .l{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.mfc-krow .v{font-weight:700;font-family:var(--font-mono)}.mfc-krow .v.v-amber{color:var(--accent-amber)}.mfc-krow .v.v-cyan{color:var(--accent-cyan)}.mfc-krow .v.v-magenta{color:var(--accent-magenta)}.mfc-krow .v.v-green{color:var(--accent-green)}.mfc-krow .v.v-blue{color:var(--accent-blue)}.m-kv.kv-cur .icon,.m-kv.kv-cur .v{color:var(--accent-cyan)}.m-kv.kv-med .icon,.m-kv.kv-med .v{color:var(--accent-blue)}.m-kv.kv-delta.delta-down .icon,.m-kv.kv-delta.delta-down .v{color:var(--accent-green)}.m-kv.kv-delta.delta-up .icon,.m-kv.kv-delta.delta-up .v{color:var(--accent-red)}.m-kv.kv-delta.delta-flat .icon,.m-kv.kv-delta.delta-flat .v{color:var(--text-dim)}.m-sec .mtr-legend{text-transform:none;letter-spacing:0;color:var(--text-dim);align-items:center;gap:10px;margin-left:auto;font-size:10px;font-weight:500;display:flex}.m-sec .mtr-legend .sw{vertical-align:middle;border-radius:1px;width:18px;height:2px;margin-right:4px;display:inline-block}.m-sec .mtr-legend .sw.sw-dpp{background:var(--accent-amber);height:2.2px}.m-sec .mtr-legend .sw.sw-used{background:var(--text-dim);opacity:.7}.m-sec .mtr-legend.legend-no-used .sw-used,.m-sec .mtr-legend.legend-no-used .sw-used+.sw-lbl{display:none}.mtr-sparkhero{padding:6px 0 4px}.mtr-sparkhero svg{width:100%;height:140px;display:block}.mtr-sparkaxis{color:var(--text-dim);justify-content:space-between;margin-top:4px;padding:0 6px;font-size:10px;display:flex}.mtr-trendline{fill:none;stroke:var(--accent-amber);stroke-width:2.2px}.mtr-trendline-dim{fill:none;stroke:var(--text-dim);stroke-width:1.4px;opacity:.55}.mtr-trenddot{fill:var(--accent-amber)}.mtr-trenddot.cur{fill:var(--accent-cyan);stroke:var(--bg);stroke-width:2px}.mtr-axis{stroke:var(--border-soft);stroke-width:1px}.mtr-hl{stroke:#c084fc59;stroke-dasharray:2 3;stroke-width:1px}.mtr-ylabel{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.mtr-medlabel{fill:var(--accent-purple);font-family:var(--font-mono);font-size:10px}.mtr-curlabel{fill:var(--accent-cyan);font-family:var(--font-mono);font-size:10px;font-weight:700}.mtr-tbl-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mtr-tbl-sub{color:var(--text-dim);font-size:11px}#mtr-table .wlab{color:var(--text)}#mtr-table tr.cur .wlab{color:var(--accent-amber);font-weight:700}#mtr-table .usedpct{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .dpp{color:var(--accent-cyan);font-family:var(--font-mono)}#mtr-table .delta.up{color:var(--accent-red);font-family:var(--font-mono)}#mtr-table .delta.down{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .delta.flat{color:var(--text-dim);font-family:var(--font-mono)}.modal-loading{text-align:center;color:var(--text-dim);padding:40px}.modal-error{color:var(--accent-red);padding:18px}.msess-badge{font-family:var(--font-mono);color:#e0cfff;background:#c084fc26;border:1px solid #c084fc59;border-radius:12px;padding:4px 12px;font-size:12.5px}.m-kv.kv-cost .icon{color:var(--accent-magenta)}.m-kv.kv-dur .icon{color:var(--accent-amber)}.m-kv.kv-proj .icon{color:var(--accent-blue)}.m-kv.kv-cost .v{color:var(--accent-magenta)}.m-kv.kv-dur .v{color:var(--accent-amber)}.m-kv.kv-proj .v{color:var(--accent-blue);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;display:block;overflow:hidden}.msess-ts{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);border-top:1px dotted var(--border-soft);border-bottom:1px dotted var(--border-soft);align-items:center;gap:22px;padding:10px 0;display:flex}.msess-ts .icon{width:14px;height:14px;color:var(--accent-cyan);flex-shrink:0}.msess-ts .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-right:6px;font-size:10.5px}.msess-ts .v{color:var(--accent-cyan)}.msess-tok-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.msess-tok-tile{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;padding:10px 12px}.msess-tok-tile .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:10.5px}.msess-tok-tile .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.msess-tok-tile.cache-hit .n{color:var(--accent-green)}.msess-tok-tile.cache-hit .bar{background:#3ddc842e;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.msess-tok-tile.cache-hit .bar .fill{background:var(--accent-green);height:100%}.msess-costm{margin-top:4px}.msess-costm .bar{background:var(--border-soft);border-radius:4px;height:22px;display:flex;overflow:hidden}.msess-costm .bar .seg{height:100%}.msess-costm .bar .seg.opus{background:var(--chip-opus)}.msess-costm .bar .seg.sonnet{background:var(--chip-sonnet)}.msess-costm .bar .seg.haiku{background:var(--chip-haiku)}.msess-costm .legend{flex-wrap:wrap;gap:14px 20px;margin-top:10px;font-size:12px;display:flex}.msess-costm .legend .lg{align-items:center;gap:8px;display:flex}.msess-costm .legend .sw{border-radius:2px;flex-shrink:0;width:10px;height:10px}.msess-costm .legend .sw.opus{background:var(--chip-opus)}.msess-costm .legend .sw.sonnet{background:var(--chip-sonnet)}.msess-costm .legend .sw.haiku{background:var(--chip-haiku)}.msess-costm .legend .name{color:var(--text)}.msess-costm .legend .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.msess-costm .legend .pct{color:var(--text-dim);margin-left:2px;font-size:11px}.msess-src .src-head{color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.msess-src .count-pill{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono);background:#60a5fa2e;border-radius:10px;padding:1px 8px;font-weight:600}.msess-src .sub{color:var(--text-dim);font-size:11.5px}.msess-src .sub .dot{color:var(--border-soft);padding:0 2px}.msess-src .sub .subcount{color:var(--accent-amber)}.msess-src .primary-path{font-family:var(--font-mono);color:var(--text);border-left:2px solid var(--accent-blue);word-break:break-all;background:#ffffff05;border-radius:4px;padding:6px 10px;font-size:11.5px}.msess-src .src-empty-primary{font-family:var(--font-mono);color:var(--text-dim);padding:6px 10px;font-size:11.5px}.msess-src details.subagents{margin-top:10px}.msess-src details.subagents summary{cursor:pointer;color:var(--accent-blue);padding:4px 0;font-size:12px;font-weight:500;list-style:none}.msess-src details.subagents summary::-webkit-details-marker{display:none}.msess-src details.subagents summary::marker{display:none}.msess-src details.subagents summary:before{content:"▸";width:14px;color:var(--text-dim);display:inline-block}.msess-src details.subagents[open] summary:before{content:"▾"}.msess-src details.subagents .paths{font-family:var(--font-mono);color:var(--text-dim);margin:6px 0 0;padding-left:16px;font-size:11px;list-style:none}.msess-src details.subagents .paths li{word-break:break-all;padding:1px 0}.mblock-burn{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mblock-burn .row{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.mblock-burn .row .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;min-width:100px;font-size:11px}.mblock-burn .row .v{color:var(--text);font-weight:700}.mblock-burn .row .v.amber{color:var(--accent-amber)}.mblock-burn .row .v.cyan{color:var(--accent-cyan)}.mblock-burn .row .dim{color:var(--text-faint);font-size:11px}.mblock-burn .row .sep{color:var(--text-faint)}.mblock-timeline{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;margin:12px 0;padding:10px}.sessions-ctrls{align-items:center;gap:6px;display:inline-flex}.ctrl-btn{border:1px solid var(--border-soft);cursor:pointer;color:inherit;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;display:inline-flex}.ctrl-btn:hover{background:#ffffff0a}.ctrl-btn.as-chip{padding:2px 8px}.ctrl-btn .chip{color:var(--accent-orange);font-size:11px}.ctrl-btn .chip-x{color:var(--text-dim);margin-left:6px}.ctrl-input{border:1px solid var(--accent-orange);color:inherit;background:0 0;border-radius:4px;min-width:180px;padding:3px 6px;font-family:inherit;font-size:12px}.ctrl-input:focus{outline:none;box-shadow:0 0 0 2px #fb923c59}.search-container{align-items:center;gap:6px;display:inline-flex}.match-count{color:var(--text-dim);text-align:center;min-width:60px;font-size:11px;font-family:var(--font-mono)}mark{color:inherit;background:#fbbf2438;border-radius:2px;padding:0 2px}mark.current{background:var(--accent-amber);color:#000}.session-row.search-match{box-shadow:inset 2px 0 0 var(--accent-amber);background:#fbbf2414}.session-row[data-session-id]{cursor:pointer}.session-row:hover{background:#ffffff08}#sess-rows .model-chip{cursor:pointer}#sess-rows .model-chip:hover{filter:brightness(1.2)}#sess-rows .model-chip:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}.panel:focus{outline:none}.panel:focus-visible{outline-offset:4px}.panel.accent-green:focus-visible{outline:2px solid var(--accent-green)}.panel.accent-purple:focus-visible{outline:2px solid var(--accent-purple)}.panel.accent-amber:focus-visible{outline:2px solid var(--accent-amber)}.panel.accent-orange:focus-visible{outline:2px solid var(--accent-orange)}.panel.accent-cyan:focus-visible{outline:2px solid var(--accent-cyan)}.panel.accent-pink:focus-visible{outline:2px solid var(--accent-pink)}.panel.accent-blue:focus-visible{outline:2px solid var(--accent-blue)}.panel.accent-indigo:focus-visible{outline:2px solid var(--accent-indigo)}.panel.accent-magenta:focus-visible{outline:2px solid var(--accent-magenta)}.panel.accent-teal:focus-visible{outline:2px solid var(--accent-teal)}.sync-chip{color:inherit;font:inherit;padding:0 6px}.topbar-sync:hover .sync-chip{color:var(--accent-purple)}.topbar-sync{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.topbar-sync:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}.sync-chip.syncing{animation:1s infinite sync-pulse}.sync-chip.sync-error{color:var(--accent-red)}.sync-chip.sync-success{color:var(--accent-green)}@keyframes sync-pulse{0%,to{opacity:.6}50%{opacity:1}}.topbar-sync .icon{color:var(--accent-cyan);transition:color 1s ease-out}.topbar-sync:has(.sync-chip.syncing) .icon{animation:1.2s linear infinite cctally-icon-spin}.topbar-sync:has(.sync-chip.sync-success) .icon{color:var(--accent-green);transition:color}.topbar-sync:has(.sync-chip.sync-error) .icon{color:var(--accent-red);transition:color}@keyframes cctally-icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.topbar-sync:has(.sync-chip.syncing) .icon{animation:1s infinite sync-pulse}}.basket-chip{border:1px solid var(--border-muted,#334155);cursor:pointer;color:inherit;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;line-height:1;display:inline-flex}.basket-chip:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.basket-chip:hover{filter:brightness(1.15)}.basket-chip-icon{vertical-align:middle;display:inline-block}.basket-chip-count{color:#0f172a;background:#f59e0b;border-radius:9999px;justify-content:center;align-items:center;min-width:1.4em;height:1.4em;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}@keyframes basket-chip-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.basket-chip.basket-chip-pulse .basket-chip-count{animation:.32s ease-out basket-chip-pulse}@media (prefers-reduced-motion:reduce){.basket-chip.basket-chip-pulse .basket-chip-count{animation:none}}.kb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.kb-btn:hover{filter:brightness(1.3)}.kb-btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}#settings-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#settings-root[hidden]{display:none}#settings-root .modal-card{z-index:1;min-width:360px;max-width:560px;position:relative}.settings-fs{border:1px solid var(--border-soft);margin:0 0 12px;padding:10px 14px}.settings-fs legend{color:var(--text-dim);letter-spacing:.3px;text-transform:uppercase;padding:0 6px;font-size:11px}.settings-fs label{cursor:pointer;padding:3px 0;display:block}.settings-fs input[type=text],.settings-fs input[type=number]{border:1px solid var(--border-soft);color:inherit;font:inherit;background:0 0;border-radius:4px;width:180px;padding:4px 8px}.settings-fs input[type=text]:focus,.settings-fs input[type=number]:focus{border-color:var(--accent-orange);outline:none;box-shadow:0 0 0 2px #fb923c40}.system-info{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);margin:4px 0;padding:0;list-style:none}.settings-actions{gap:10px;margin-top:16px;display:flex}.settings-btn{background:var(--panel-bg);border:1px solid var(--border-soft);color:inherit;cursor:pointer;font:inherit;border-radius:4px;padding:6px 14px}.settings-btn:hover{border-color:var(--accent-orange)}.settings-btn:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}#settings-save{border-color:var(--accent-orange)}.settings-select{vertical-align:middle;padding:6px 8px}.toast{background:var(--panel-bg);border:1px solid var(--accent-amber);z-index:200;color:var(--text);font-size:12px;font-family:var(--font-mono);border-radius:4px;padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.panel.sessions-collapsed{max-height:480px}.panel.sessions-collapsed .panel-body{overflow:hidden auto}.panel.sessions-collapsed .sess-table thead th{background:var(--panel-bg);z-index:1;position:sticky;top:0}.panel-collapse-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.panel-collapse-toggle:hover{color:var(--text);background:#ffffff0a}.panel-collapse-toggle:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.panel-collapse-toggle .icon{width:16px;height:16px}.share-icon{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.share-icon:hover{color:var(--text);background:#ffffff0a}.share-icon:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.modal-header .share-icon{margin-left:auto}.pill-current{background:var(--pill-bg);color:inherit;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.delta{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:11px}.delta.up{color:var(--accent-red);background:#ef444424}.delta.down{color:var(--accent-green);background:#3ddc8424}.delta.flat{color:var(--text-faint);background:0 0}.model-stack{background:#ffffff0a;border-radius:999px;height:9px;margin-top:6px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.model-stack>span{height:100%;transition:width .28s cubic-bezier(.2,.8,.2,1);display:block}.model-stack>span.opus{background:var(--chip-opus)}.model-stack>span.sonnet{background:var(--chip-sonnet)}.model-stack>span.haiku{background:var(--chip-haiku)}.model-stack>span.other{background:var(--text-faint)}.panel-foot.period-foot .sep{color:var(--text-faint);margin:0 4px}.panel-foot.period-foot .total{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.period{padding:8px 0}.period+.period{border-top:1px solid #ffffff0a}.period .meta{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.period .meta .label{color:var(--text)}.period .meta .right{align-items:baseline;gap:8px;display:flex}.period .meta .cost{color:var(--text);font-weight:600}.detail-card{background:var(--panel-bg-2);border:1px solid #ffffff14;border-radius:8px;margin-bottom:14px;padding:14px 16px}.detail-card.accent-cyan{border-color:#22d3ee2e}.detail-card.accent-pink{border-color:#ec48992e}.detail-card.accent-indigo{border-color:#818cf82e}.detail-card .head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.detail-card .head .big{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.detail-card .window{color:var(--text-faint);margin-bottom:12px;font-size:11px}.detail-card .model-stack{height:14px;margin:6px 0 10px}.detail-card .chips{flex-wrap:wrap;gap:6px;display:flex}.detail-card .chip{color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px}.detail-card .chip.opus{background:var(--chip-opus)}.detail-card .chip.sonnet{background:var(--chip-sonnet)}.detail-card .chip.haiku{background:var(--chip-haiku)}.detail-card .chip.other{background:var(--text-faint);color:var(--text)}.tokens-row{border-top:1px solid #ffffff0d;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;padding-top:10px;display:grid}.tokens-row .t{font-size:11px}.tokens-row .t .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:9px;display:block}.tokens-row .t .v{color:var(--text);font-variant-numeric:tabular-nums}.detail-card .stats2{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;display:grid}.detail-card .stats2 .s{font-size:12px}.detail-card .stats2 .k{color:var(--text-dim);margin-right:6px}.detail-card .stats2 .v{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.history-table{border-collapse:collapse;width:100%;font-size:12px}.history-table thead th{color:var(--text-dim);text-align:left;background:var(--panel-bg);border-bottom:1px solid #ffffff1a;padding:6px 8px;font-weight:600;position:sticky;top:0}.history-table tbody td{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:6px 8px}.history-table tbody td.num{text-align:right}.history-table tbody tr:hover td{cursor:pointer;background:#ffffff05}.history-table tbody tr.selected td{background:var(--panel-bg-2)}.history-table.accent-cyan tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-cyan)}.history-table.accent-pink tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-pink)}.history-table tbody td.delta-up{color:var(--accent-red)}.history-table tbody td.delta-down{color:var(--accent-green)}.history-table .models-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.history-table .models-chips .chip{padding:0 6px;font-size:11px}.history-table .models-chips-more{color:var(--text-faint);font-size:11px}.panel-empty{text-align:center;color:var(--text-faint);padding:24px 0;font-size:12px}.panel.blocks-collapsed{max-height:480px}.panel.blocks-collapsed .panel-body{overflow:hidden auto}.blocks-row{cursor:pointer;border-bottom:1px dashed #ffffff0d;padding:8px 0;font-size:12px;transition:background 80ms}.blocks-row:last-child{border-bottom:0}.blocks-row:hover{background:#60a5fa0f}.blocks-row:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-blue);background:#60a5fa0f;outline:none}.blocks-row .meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.blocks-row .label{color:var(--text);font-weight:600}.blocks-row .label .anchor-marker{color:var(--text-dim);margin-right:2px;font-weight:400}.blocks-row .cost{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.blocks-row .gauge-track{background:#ffffff0a;border-radius:4px;height:14px;overflow:hidden}.blocks-row .gauge-fill{height:100%;transition:width .28s ease-out;display:flex}.blocks-row .gauge-fill>span{height:100%;display:block}.blocks-row .gauge-fill .seg-opus{background:var(--accent-purple)}.blocks-row .gauge-fill .seg-sonnet{background:var(--accent-blue)}.blocks-row .gauge-fill .seg-haiku{background:var(--accent-green)}.blocks-row .gauge-fill .seg-other{background:var(--text-dim)}.blocks-row .pill-active{background:var(--pill-bg);color:var(--accent-amber);letter-spacing:.4px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.panel.daily-collapsed{max-height:520px}.panel.daily-collapsed .panel-body{overflow:hidden auto}.daily-legend{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.daily-legend .scale{gap:3px;display:flex}.daily-legend .scale span{border-radius:3px;width:16px;height:10px;display:block}.daily-legend .scale .h0{background:#ffffff0d}.daily-legend .scale .h1{background:#60a5fa1a}.daily-legend .scale .h2{background:#60a5fa38}.daily-legend .scale .h3{background:#c084fc52}.daily-legend .scale .h4{background:#ec489966}.daily-legend .scale .h5{background:#fbbf2480}.daily-cal-grid{grid-template-columns:minmax(72px,auto) repeat(7,minmax(0,1fr));grid-auto-rows:64px;align-items:stretch;gap:8px;display:grid}.daily-week-label{border-right:1px solid var(--border-soft);flex-direction:column;justify-content:center;min-width:0;padding-right:8px;display:flex}.daily-week-label .wk{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;line-height:1.1}.daily-week-label .rng{color:var(--text-dim);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap;margin-top:3px;line-height:1.1}.daily-cell{color:var(--text-dim);background-image:radial-gradient(120% 120% at 0 0,#ffffff12 0%,#0000 55%);border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;padding:6px 9px 7px;font-size:10px;display:flex;position:relative;overflow:hidden}.daily-cell .d{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.4px;align-self:flex-start;line-height:1}.daily-cell .c{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-family:var(--font-mono);letter-spacing:-.3px;align-self:center;margin-bottom:2px;font-weight:800;line-height:1}.daily-cell.is-today{outline:2px solid var(--accent-cyan);outline-offset:-2px}.daily-cell.h0{color:#ffffff4d;background-color:#ffffff05}.daily-cell.h0 .d{color:#fff6}.daily-cell.h0 .c{color:#ffffff59;font-weight:600}.daily-cell.h1{background-color:#60a5fa2e}.daily-cell.h2{background-color:#818cf84d}.daily-cell.h3{background-color:#c084fc61}.daily-cell.h4{background-color:#ec48996b}.daily-cell.h5{background-color:#fb923c8c;border-color:#fb923c8c}.daily-cell.h5 .c{color:#fff7e8}.daily-cell.h5 .d{color:#ffffffd9}@keyframes daily-fade-in{0%{opacity:0}to{opacity:1}}.daily-cell.first-mount{animation:.28s ease-out both daily-fade-in;animation-delay:var(--daily-stagger,0s)}.daily-month-continues{color:var(--text-faint);letter-spacing:.5px;text-transform:lowercase;font-size:11px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.daily-month-continues:before,.daily-month-continues:after{content:"";border-top:1px dashed #ffffff1a;flex:auto;min-width:12px}.daily-foot{border-top:1px solid var(--accent-line);grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;padding-top:14px;display:grid}.daily-foot-col{align-items:center;gap:14px;min-width:0;display:flex}.daily-foot-icon{flex-shrink:0;width:28px;height:28px}.daily-foot-icon.icon-total{color:var(--accent-indigo)}.daily-foot-icon.icon-peak{color:var(--accent-amber)}.daily-foot-text{flex-direction:column;min-width:0;display:flex}.daily-foot-text .lbl{color:var(--text-dim);letter-spacing:.3px;margin-bottom:2px;font-size:11px}.daily-foot-text .val{color:var(--text);font-size:18px;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.3px;align-items:baseline;gap:8px;display:flex}.daily-foot-text .val .d{color:var(--text);font-size:14px;font-weight:700}.daily-foot-text .val .a{color:var(--accent-amber);font-size:18px;font-weight:800}.daily-modal-bars{background:#6366f10a;border:1px solid #6366f11f;border-radius:10px;padding:14px 16px}.daily-modal-bars-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.daily-modal-bars-head .hint{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:10px}.daily-modal-bars-grid{grid-template-columns:repeat(30,minmax(6px,1fr));align-items:end;gap:3px;height:96px;display:grid}.daily-modal-bars-grid .bar{background:linear-gradient(to top, color-mix(in srgb, var(--accent-indigo) 70%, transparent), color-mix(in srgb, var(--accent-indigo) 90%, transparent));cursor:pointer;border:none;border-radius:3px 3px 0 0;min-width:6px;padding:0;transition:filter .15s,transform .15s}.daily-modal-bars-grid .bar:hover{filter:brightness(1.25);transform:translateY(-1px)}.daily-modal-bars-grid .bar:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.daily-modal-bars-grid .bar.zero{cursor:default;background:#ffffff0f}.daily-modal-bars-grid .bar.zero:hover{filter:none;transform:none}.daily-modal-bars-grid .bar.sel{background:linear-gradient(#fbbf24,#f59e0b);box-shadow:0 0 0 2px #fbbf2459}.daily-modal-bars-grid .bar.today{outline-offset:1px;outline:1px dashed #fbbf2473}.daily-modal-bars-axis{color:var(--text-dim,#6f7a8b);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.detail-card .tokens-row .t.cache .v{color:#fbbf24}.detail-card .tokens-row .t.cache .bar{background:#ffffff0f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.detail-card .tokens-row .t.cache .bar .fill{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:2px;height:100%}.daily-cell{cursor:pointer;font:inherit;color:inherit;text-align:left}.daily-cell:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:8px}.daily-foot-peak{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.daily-foot-peak:hover{filter:brightness(1.08)}.daily-foot-peak:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:6px}.panel-host{outline:none;flex-direction:column;min-width:0;display:flex;position:relative}.panel-host>.panel{flex:auto}.panel-host.is-dragging{z-index:10;cursor:grabbing}.panel-host.is-dragging>.panel{transition:box-shadow .12s;box-shadow:0 14px 40px #00000073}.panel-grip-hint{pointer-events:none;opacity:0;color:var(--text-dim);z-index:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-style:italic;transition:opacity .1s;position:absolute;bottom:6px;right:14px}.panel-host:hover .panel-grip-hint{opacity:.55}.panel-host:hover,.panel-host:hover>.panel{cursor:grab}.panel-host.is-dragging:hover,.panel-host.is-dragging:hover>.panel{cursor:grabbing}.panel-grip{width:24px;height:24px;font-family:var(--font-mono);letter-spacing:-1px;color:var(--text-dim);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:13px;display:inline-flex}.panel-host.is-dragging .panel-grip{cursor:grabbing}.panel-header>.panel-grip{margin-left:auto}@media (pointer:fine){.panel-grip{display:none}}.settings-fs.layout-fs .settings-btn{margin-top:6px}.onboarding-toast{background:var(--panel-bg);border:1px solid var(--accent-indigo,#818cf8);color:var(--text);z-index:1000;border-radius:6px;align-items:center;gap:10px;max-width:320px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000059}.onboarding-toast-msg{flex:1;line-height:1.35}.onboarding-toast-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.onboarding-toast-dismiss:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.panel-host.is-dragging>.panel{transition:none}}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.th-sortable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px}.th-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.th-caret{min-width:.7em;font-size:.85em;display:inline-block}.th-sortable.is-sorted .th-label{color:var(--th-accent,var(--accent-cyan));font-weight:700}.th-sortable.is-sorted .th-caret{color:var(--th-accent,var(--accent-cyan))}.settings-hint{color:var(--text-dim,#8a8a8a);margin:4px 0 0;font-size:12px}.panel.alerts-collapsed{max-height:360px}.panel.alerts-collapsed .panel-body{overflow:hidden auto}.toast.toast--alert{cursor:pointer;background:linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;width:360px;padding:14px 16px}.toast--severity-info{border:1px solid var(--accent-indigo);box-shadow:inset 0 0 28px #818cf80f,0 8px 24px #00000080}.toast--severity-warn{border:1px solid var(--accent-amber);box-shadow:inset 0 0 28px #fbbf240f,0 8px 24px #00000080}.toast--severity-critical{border:1px solid var(--accent-red);box-shadow:inset 0 0 28px #ef444412,0 8px 24px #00000080}.toast--alert-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.toast--alert-threshold{letter-spacing:-.5px;font-size:22px;font-weight:800;font-family:var(--font-mono)}.toast--severity-info .toast--alert-threshold{color:var(--accent-indigo)}.toast--severity-warn .toast--alert-threshold{color:var(--accent-amber)}.toast--severity-critical .toast--alert-threshold{color:var(--accent-red)}.toast--alert-dismiss-hint{color:var(--text-faint);margin-left:auto;font-size:11px}.toast--alert-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.toast--alert-sub{color:var(--text-dim);margin-bottom:6px;font-size:12px}.toast--alert-body{color:var(--text);font-size:13px}.toast--alert-body .num{color:var(--accent-amber);font-weight:700}.toast--severity-info .toast--alert-body .num{color:var(--accent-indigo)}.toast--severity-critical .toast--alert-body .num{color:var(--accent-red)}.chip{letter-spacing:1px;font-size:10px;font-weight:800;font-family:var(--font-mono);border-radius:3px;padding:2px 7px}.chip--weekly{color:var(--accent-purple);background:#c084fc29}.chip--five_hour{color:var(--accent-cyan);background:#22d3ee29}.chip--budget{color:var(--accent-green);background:#3ddc8429}.chip--projected{color:var(--accent-indigo);background:#818cf829}.chip--project_budget{color:var(--accent-teal);background:#2dd4bf29}.chip--codex_budget{color:var(--accent-orange);background:#fb923c29}.alert-row{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:14px;padding:8px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-threshold{letter-spacing:-.5px;font-size:18px;font-weight:800;font-family:var(--font-mono);text-align:right;width:50px}.alert-threshold.info{color:var(--text-dim)}.alert-threshold.warn{color:var(--accent-amber)}.alert-threshold.critical{color:var(--accent-red)}.alert-when{color:var(--text-dim);flex:1;font-size:12px}.alerts-empty{color:var(--text-faint);text-align:center;padding:32px 0;font-size:13px}.share-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-blue);border-radius:8px;flex-direction:column;width:min(960px,94vw);max-height:90vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.share-modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 56px 12px 18px;display:flex}.share-modal-header h2{margin:0;font-size:17px;font-weight:500}.share-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:12px;right:18px}.share-modal-close:hover{color:var(--accent-red)}.share-modal-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:14px;padding:14px 18px;display:flex;overflow:auto}.share-section{flex-direction:column;gap:10px;display:flex}.share-main-section{flex-direction:row;gap:18px}.share-knobs-col{flex:0 0 280px;min-width:0}.share-preview-col{flex-direction:column;flex:1 1 0;min-width:0;min-height:320px;display:flex}.share-gallery{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.share-gallery-error{color:var(--accent-red);border:1px solid var(--accent-red);border-radius:4px;padding:10px;font-size:13px}.share-tile{background:var(--panel-bg-2);border:1px solid var(--border-soft);text-align:left;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;min-height:70px;padding:12px;font-family:inherit;display:flex}.share-tile:hover:not([disabled]):not(.share-tile-selected){border-color:var(--text-dim)}.share-tile-selected{border-color:var(--accent-blue);outline:1px solid var(--accent-blue)}.share-tile-disabled{opacity:.45;cursor:not-allowed}.share-tile-label{font-size:14px;font-weight:600}.share-tile-desc{color:var(--text-dim);font-size:12px;line-height:1.3}.share-tile-skeleton{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;min-height:70px;padding:12px}.share-tile-skeleton-bar{background:var(--border-soft);border-radius:3px;height:14px;margin-bottom:8px}.share-tile-skeleton-bar.short{width:60%;height:10px}.share-knobs{flex-direction:column;gap:10px;display:flex}.share-knob{flex-direction:column;gap:4px;display:flex}.share-knob>label,.share-knob>.share-knob-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.share-knob input[type=number],.share-knob input[type=date],.share-knob select{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.share-knob input[type=number]:focus,.share-knob input[type=date]:focus,.share-knob select:focus{outline:1px solid var(--accent-blue)}.share-knob-radiogroup{gap:12px;display:flex}.share-knob-radio,.share-knob-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-knob-period-custom{gap:8px;margin-top:4px;display:flex}.share-knob-sublabel{color:var(--text-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.share-knob-allowlist-stub{background:var(--panel-bg-2);border:1px dashed var(--border-soft);color:var(--text-dim);text-align:left;cursor:not-allowed;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.share-preview{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:4px;flex:1;min-height:280px;padding:12px;font-size:13px;overflow:auto}.share-preview-iframe{border:1px solid var(--border-soft);background:#fff;flex:1;width:100%;min-height:280px;padding:0}.share-preview-md{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-preview-empty,.share-preview-loading{color:var(--text-dim);justify-content:center;align-items:center;display:flex}.share-preview-error{border-color:var(--accent-red);color:var(--accent-red);background:#ef444414}.share-preview-error-title{margin-bottom:6px;font-weight:600}.share-preview-error-message{font-size:12px}.share-preview-error-field{color:var(--text-dim)}.share-modal-footer{border-top:1px solid var(--border-soft);background:var(--panel-bg);padding:12px 18px}.share-actions{flex-direction:column;gap:10px;display:flex}.share-format-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-format-label{color:var(--text-dim);text-transform:uppercase;font-size:12px}.share-format-radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-save-preset-row{justify-content:flex-end;display:flex}.share-save-preset{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text-dim);cursor:not-allowed;border-radius:4px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:12px}.share-action-row{flex-wrap:wrap;gap:8px;display:flex}.share-action{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;cursor:pointer;border-radius:4px;padding:8px 14px;font-family:inherit;font-size:13px}.share-action:hover:not([disabled]){border-color:var(--accent-blue)}.share-action[disabled],.share-action-disabled{opacity:.45;cursor:not-allowed}.share-action-copy:not([disabled]){border-color:var(--accent-green)}.share-action-download:not([disabled]){border-color:var(--accent-blue)}.share-action-open:not([disabled]){border-color:var(--accent-cyan)}.share-action-png:not([disabled]){border-color:var(--accent-purple)}.share-action-print:not([disabled]){border-color:var(--accent-amber)}.share-action-error{color:var(--accent-red);margin-top:6px;font-size:12px}.composer-modal{z-index:210;background:var(--panel-bg);flex-direction:column;font-family:inherit;display:flex;position:fixed;inset:0}.composer-modal:before{content:"";z-index:-1;background:#0000008c;position:absolute;inset:0}.composer-modal-header{border-bottom:1px solid var(--border-soft);background:var(--panel-bg);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.composer-modal-header h2{margin:0;font-size:17px;font-weight:500}.composer-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.composer-modal-close:hover{color:var(--accent-red)}.composer-empty-message{color:var(--text-dim);padding:18px}.composer-knobs{background:var(--panel-bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:12px;padding:10px 18px;font-size:13px;display:flex}.composer-knobs label{align-items:center;gap:6px;display:inline-flex}.composer-anon-banner{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 18px;font-size:13px;display:flex}.composer-anon-banner button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:2px 8px;font-size:12px}.composer-anon-banner button:hover{background:#0000001a}.composer-body{flex:1;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:hidden}.composer-section-list{margin:0;padding:0;list-style:none;overflow-y:auto}.composer-section-row{border:1px solid var(--border-soft);background:var(--panel-bg-2,var(--panel-bg));border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:8px;display:flex;position:relative}.composer-section-label{flex:1;min-width:0}.composer-drag-handle{touch-action:none;cursor:grab;color:var(--text-dim,#64748b);background:0 0;border:none;padding:4px 6px;font-size:14px}.composer-drag-handle:active{cursor:grabbing}.composer-section-actions{position:relative}.composer-section-menu{background:var(--panel-bg);border:1px solid var(--border-soft);z-index:10;border-radius:4px;min-width:180px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000059}.composer-section-menu li{padding:0}.composer-section-menu button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.composer-section-menu button:hover{background:var(--border-soft)}.composer-outdated-badge{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.composer-preview{border:1px solid var(--border-soft);background:#fff;width:100%;height:100%;min-height:0}.composer-busy,.composer-error{color:var(--text-dim);padding:6px 18px;font-size:12px}.composer-error{color:var(--accent-red)}.composer-actions{border-top:1px solid var(--border-soft);background:var(--panel-bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.composer-export-row{flex-wrap:wrap;gap:8px;display:flex}.composer-clear-all{margin-left:auto}@media (prefers-reduced-motion:reduce){.share-overlay,.share-modal,.composer-modal,.share-manage-modal,.share-presets-menu,.share-savepreset-popover{transition:none!important;animation:none!important}}@media (width<=640px){:root{--mobile-vh:100dvh}body{padding:8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}input,textarea,select{font-size:16px}.footer{display:none}.topbar{z-index:50;padding:6px 10px;padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;position:sticky;top:0}.topbar .stat[data-mobile-keep=secondary]{display:none}.topbar .stat[data-stat=brand]{flex:none;order:0;min-width:0}.topbar .stat[data-stat=week]{flex:0 auto;order:1;min-width:0}.topbar .stat[data-stat=used]{flex:0 auto;order:2;min-width:0}.topbar .stat[data-stat=dollar-per-pct]{flex:0 auto;order:3;min-width:0}.topbar .stat[data-stat=forecast]{display:none}.topbar:after{content:"";flex-basis:100%;order:4;height:0}.topbar .topbar-actions{order:5;gap:4px;width:100%;margin-left:0}.topbar .topbar-actions .doctor-chip{margin-right:auto}.topbar .topbar-brand .brand-name,.topbar .topbar-brand .brand-version{display:none}.topbar .topbar-brand{gap:0!important}.topbar .stat[data-stat=week] .v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .stat[data-stat=week] .k,.topbar .stat .mute[data-mobile-keep=secondary]{display:none}.topbar .pill-warn{padding:1px 6px;font-size:10px}.topbar-actions>.topbar-icon-btn{display:inline-flex}.topbar-icon-btn{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:44px;height:44px;color:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-icon-btn .icon{width:20px;height:20px}.topbar-icon-btn:active{background:var(--panel-bg)}.topbar-sync{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.topbar-sync .icon{flex-shrink:0;width:20px;height:20px}.topbar-sync .sync-chip{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#modal-root{justify-content:stretch;align-items:flex-end}.modal-backdrop{background:#000000b3}.modal-card{max-height:calc(100dvh - max(32px, env(safe-area-inset-top)));height:calc(100dvh - max(32px, env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom);border-width:1px 1px medium;border-bottom-style:none;border-bottom-color:currentColor;border-radius:14px 14px 0 0;animation:.18s ease-out cctally-sheet-up;width:100%!important}@keyframes cctally-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-card{animation:none}}.modal-handle{background:var(--text-faint);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.modal-header{background:var(--panel-bg);z-index:1;padding:8px 14px 10px;position:sticky;top:0}.modal-header h2{font-size:17px;font-weight:600}.modal-close{justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.modal-body{scrollbar-gutter:auto;padding:12px 14px}.history-table{width:100%}.history-table thead{display:none}.history-table tbody,.history-table tr{width:100%;display:block}.history-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.history-table tr.selected{background:#ffffff06;border-left:2px solid;padding-left:8px}.history-table tbody td{border:none;padding:0}.history-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.history-table td:nth-child(2){flex:100%;order:3;margin-top:2px}.history-table td.num:nth-child(3){flex:none;order:2;margin-left:auto;font-weight:700}.history-table--weekly td.num:nth-child(4),.history-table--weekly td.num:nth-child(5){display:none}.history-table td.num:last-child{flex:none;order:4;margin-left:auto;font-size:12px}.detail-card .head{flex-direction:column;align-items:flex-start;gap:4px}.detail-card .stats2,.detail-card .tokens-row{grid-template-columns:1fr 1fr}.detail-card .chips{flex-wrap:wrap}.m-hero.cols-2,.m-hero.cols-3,.m-hero.cols-4{grid-template-columns:1fr;gap:10px}.m-histable#mtr-table{width:100%}.m-histable#mtr-table thead{display:none}.m-histable#mtr-table tbody,.m-histable#mtr-table tr{width:100%;display:block}.m-histable#mtr-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mtr-table td{border:none;padding:0}.m-histable#mtr-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.m-histable#mtr-table td:nth-child(4){flex:none;order:2;margin-left:auto;font-weight:700}.m-histable#mtr-table td:nth-child(2){color:var(--text-dim);flex:50%;order:3;font-size:12px}.m-histable#mtr-table td:nth-child(3){color:var(--text-dim);flex:50%;order:4;font-size:12px}.m-histable#mcw-table{width:100%}.m-histable#mcw-table thead{display:none}.m-histable#mcw-table tbody,.m-histable#mcw-table tr{width:100%;display:block}.m-histable#mcw-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mcw-table td{border:none;padding:0}.m-histable#mcw-table td:first-child{flex:none;order:1;font-weight:600}.m-histable#mcw-table td:nth-child(3){text-align:right;flex:auto;order:2;margin-left:auto;font-weight:700}.m-histable#mcw-table td:nth-child(2),.m-histable#mcw-table td:nth-child(4),.m-histable#mcw-table td:nth-child(5){color:var(--text-dim);flex:none;order:3;font-size:12px}.m-histable#mcw-table td:nth-child(4):after{content:" · ";color:var(--text-faint)}.m-histable#mcw-table td:nth-child(2){flex-basis:100%;margin-top:2px}.alerts-table{width:100%}.alerts-table thead{display:none}.alerts-table tbody,.alerts-table tr{width:100%;display:block}.alerts-table tr.alert-modal-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.alerts-table td{border:none;padding:0}.alerts-table td:first-child{flex:none;order:1;font-weight:700}.alerts-table td:nth-child(2){flex:none;order:2}.alerts-table td:nth-child(3){text-align:right;flex:auto;order:3;margin-left:auto;font-weight:700}.alerts-table td:nth-child(4){color:var(--text-dim);flex:100%;order:4;margin-top:2px;font-size:12px}.alerts-table td:nth-child(5){color:var(--text-faint);flex:100%;order:5;font-size:11px}#panel-sessions>.sessions-ctrls{border-bottom:1px solid var(--border-soft);flex-direction:row;align-items:center;gap:8px;padding:6px 12px 8px;display:flex}#panel-sessions>.sessions-ctrls .search-container{flex:auto;align-items:stretch;gap:4px;min-width:0;min-height:36px;display:flex}#panel-sessions>.sessions-ctrls .search-container .ctrl-input{flex:auto;width:auto;min-width:0}#panel-sessions>.sessions-ctrls .search-container .ctrl-btn{width:32px;min-width:32px;height:36px;min-height:36px;padding:0}#panel-sessions>.sessions-ctrls>.ctrl-btn{flex:none;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex}#panel-sessions>.sessions-ctrls #sort-pill .label{display:none}.sess-table{width:100%}.sess-table thead{display:none}.sess-table tbody,.sess-table tr{width:100%;display:block}.sess-table tr.session-row{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}.sess-table tbody td{white-space:normal;border:none;padding:0}.sess-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.sess-table td.num{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}.sess-table tbody td.started{color:var(--text-dim);flex:none;order:3;margin-top:2px;font-size:12px}.sess-table td:nth-child(2){color:var(--text-dim);flex:none;order:4;font-size:12px}.sess-table td:nth-child(3){flex:none;order:5;align-items:center;display:inline-flex}.sess-table td.started:after,.sess-table td:nth-child(2):after{content:" · ";color:var(--text-faint)}.sess-table tr.session-row.search-match{background:#22d3ee12}.daily-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.daily-week-label{display:none}#help-overlay{align-items:flex-end;padding:0}#help-overlay .help-card{width:100%;min-width:0;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px 14px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}#help-overlay .help-gesture-list{margin:0 0 14px;padding:0;list-style:none}#help-overlay .help-gesture-list li{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:14px}#help-overlay .help-keyboard-disclosure summary{cursor:pointer;color:var(--accent-blue);padding:10px 0;font-size:13px}#help-overlay .help-keyboard-disclosure[open] summary{color:var(--text)}#settings-root .modal-card{min-width:0}.modal-card .settings-fs{min-width:0;width:100%!important}.modal-card .settings-actions{background:var(--panel-bg);border-top:1px solid var(--border-soft);padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;margin:14px -14px -12px;display:flex;position:sticky;bottom:0}.modal-card .settings-btn{flex:auto;min-height:44px}.panel-grip-hint{display:none!important}.chip,kbd{min-height:24px;padding:2px 8px}.model-chip{min-height:28px;padding:4px 10px}.ctrl-btn,.panel-collapse-toggle,.share-icon{min-width:44px;min-height:44px}:root{--topbar-h:104px}#settings-root{align-items:flex-end}.mcw-pbar .ticks .tick:after{content:none}.chip.model-chip{position:relative}.chip.model-chip:before{content:"";position:absolute;inset:-8px 0}.share-overlay{justify-content:stretch;align-items:stretch}.share-modal{border-left:none;border-right:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.share-modal-body{padding:12px 14px}.share-main-section{flex-direction:column}.share-knobs-col{flex:none}.share-gallery{grid-template-columns:1fr}.share-action{flex:auto;min-height:44px}.share-format-row{gap:8px}.share-save-preset{margin-left:0}.composer-modal-mobile .composer-knobs{flex-wrap:wrap;gap:8px}.composer-modal-mobile .composer-body{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;padding:10px}.composer-modal-mobile .composer-section-list{flex-direction:row;max-height:none;padding-bottom:8px;display:flex;overflow:auto hidden}.composer-modal-mobile .composer-section-row{flex:none;min-width:180px;margin-bottom:0;margin-right:6px}.composer-modal-mobile .composer-actions{background:var(--panel-bg);position:sticky;bottom:0}}.projects-body{flex-direction:column;gap:6px;padding:4px 0;display:flex}.projects-row{cursor:pointer;border-radius:4px;grid-template-columns:110px 1fr 56px 44px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:grid}.projects-row:hover{background:#d946ef0f}.projects-row.tail{cursor:default}.projects-row.tail:hover{background:0 0}.projects-row:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:-2px}.projects-row .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.projects-row .name.muted,.projects-row .cost.muted,.projects-row .pct.muted{color:var(--text-dim)}.projects-row .lb-bar{background:#d946ef1f;border-radius:3px;height:10px;position:relative;overflow:hidden}.projects-row .lb-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:3px;position:absolute;inset:0 auto 0 0}.projects-row .lb-bar.muted:after{background:var(--text-dim);opacity:.6}.projects-row .cost{color:var(--accent-green);text-align:right}.projects-row .pct{color:var(--accent-cyan);text-align:right}@media (width<=640px){#root .projects-row{grid-template-columns:90px 1fr 50px 36px;padding:4px}}.project-cell-link{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.project-cell-link:hover{color:var(--accent-magenta)}.project-cell-link:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-body{padding:4px 0}.projects-controls{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.projects-controls .pill{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11.5px}.projects-controls .pill.on{border-color:var(--accent-magenta);color:#f5d0fe;background:#d946ef2e}.projects-controls .sep{color:var(--text-dim);margin:0 4px}.projects-notice{color:var(--text-dim);padding:6px 2px 0;font-size:11.5px}.projects-trend{margin:8px 0}.projects-trend svg{border-bottom:1px solid var(--border-soft);width:100%;height:150px;display:block}.projects-trend-xaxis{color:var(--text-dim);justify-content:space-between;padding:4px 2px 0;font-size:10.5px;display:flex}.projects-trend-legend{flex-wrap:wrap;gap:12px;padding:8px 2px 4px;font-size:11.5px;display:flex}.projects-trend-legend .sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.projects-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12.5px}.projects-table th,.projects-table td{text-align:right;padding:6px 8px}.projects-table th:first-child,.projects-table td:first-child{text-align:left}.projects-table thead th{color:var(--accent-amber);font-weight:700}.projects-table tbody td.project{color:var(--accent-blue)}.projects-table tbody td.started{color:var(--accent-cyan)}.projects-table tbody td.cost-low{color:var(--accent-green)}.projects-table tbody td.cost-mid{color:var(--accent-amber)}.projects-table tbody td.cost-high{color:var(--accent-red)}.projects-table tbody td.cost-xs{color:var(--accent-green)}.projects-table tbody tr{cursor:pointer}.projects-table tbody tr:hover{background:#d946ef0f}.projects-table tbody tr.selected{background:#d946ef24;outline:1px solid #d946ef80}.projects-table-toggle{border:1px dashed var(--border-soft);color:var(--text-dim);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:6px;width:100%;margin:6px 0 0;padding:6px 12px;font-size:12px;display:block}.projects-table-toggle:hover{color:var(--accent-magenta);border-color:var(--accent-magenta);background:#d946ef0a}.projects-table-toggle:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-footer-hint{border-top:1px solid var(--border-soft);color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:14px;padding-top:10px;font-size:12px;display:flex}.projects-modal-footer-hint .sep{color:var(--border-soft)}.projects-modal-footer-hint kbd{border:1px solid var(--border-soft);color:var(--text-dim);background:#ffffff0a;border-radius:3px;margin:0 1px;padding:1px 4px;font-family:inherit;font-size:11px}.projects-modal-footer-hint .sync-chip{background:0 0;margin-left:auto;padding:0;font-size:12px}.projects-drill{border:1px dashed var(--border-soft);background:#d946ef0a;border-radius:8px;margin-top:14px;padding:12px 14px}.projects-drill-head .title{color:#f5d0fe;font-size:13px;font-weight:700}.projects-drill-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.projects-drill .section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11.5px}.projects-drill .muted{color:var(--text-dim);font-size:12px}.drill-bar-row{grid-template-columns:110px 1fr 60px;align-items:center;gap:6px;margin:3px 0;font-size:12px;display:grid}.drill-bar{background:#d946ef1a;border-radius:2px;height:8px;position:relative}.drill-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:2px;position:absolute;inset:0 auto 0 0}.drill-bar-row .cost{text-align:right}.drill-bar-row .cost.cost-xs,.drill-bar-row .cost.cost-low,.drill-session-row .cost.cost-xs,.drill-session-row .cost.cost-low{color:var(--accent-green)}.drill-bar-row .cost.cost-mid,.drill-session-row .cost.cost-mid{color:var(--accent-amber)}.drill-bar-row .cost.cost-high,.drill-session-row .cost.cost-high{color:var(--accent-red)}.drill-session-row{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;padding:4px 0;display:grid}.drill-session-row .started{color:var(--accent-cyan)}.drill-session-row:hover{color:var(--accent-magenta)}.drill-session-row+.drill-session-row{border-top:1px solid var(--border-soft)}.drill-session-row .cost{text-align:right}.drill-session-footer{justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;font-size:12px;display:flex}.drill-session-footer .muted{font-size:12px}.drill-show-in-sessions{font:inherit;color:var(--accent-cyan);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.drill-show-in-sessions:hover{color:var(--accent-magenta)}@media (width<=640px){#root .projects-drill-grid{grid-template-columns:1fr;gap:12px}#root .projects-trend svg{width:100%;height:110px}#root .projects-trend-legend{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-right:24px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}#root .projects-trend-legend .projects-trend-legend-item{scroll-snap-align:start;flex-shrink:0;align-items:center;min-height:36px;display:inline-flex}#root .projects-trend-legend button.projects-trend-legend-item{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px}#root .projects-table thead{display:none}#root .projects-table tbody,#root .projects-table tr{width:100%;display:block}#root .projects-table tbody tr{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}#root .projects-table tbody td{white-space:normal;border:none;padding:0}#root .projects-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}#root .projects-table td.cost-xs,#root .projects-table td.cost-low,#root .projects-table td.cost-mid,#root .projects-table td.cost-high{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}#root .projects-table td:nth-child(2),#root .projects-table td:nth-child(6),#root .projects-table td:nth-child(7),#root .projects-table td.started{color:var(--text-dim);flex:none;margin-top:2px;font-size:12px}#root .projects-table td:nth-child(2){order:3}#root .projects-table td:nth-child(6){order:4}#root .projects-table td:nth-child(7){order:5}#root .projects-table td.first-seen{order:6}#root .projects-table td.last-seen{order:7}#root .projects-table td:nth-child(2):after,#root .projects-table td:nth-child(6):after,#root .projects-table td:nth-child(7):after{content:" · ";color:var(--text-faint)}#root .projects-table td.first-seen:after{content:" → ";color:var(--text-faint)}#root .projects-table tbody tr.selected{background:#d946ef0f}#root .projects-table tr.projects-drill-row{cursor:default;border-bottom:1px solid var(--border-soft);background:#d946ef08;padding:8px 6px}#root .projects-table tr.projects-drill-row td{width:100%;display:block}#root .projects-mobile-sort{min-height:32px;color:var(--text);border:1px solid var(--border-soft);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;margin:4px 0 6px;padding:6px 12px;font-size:12.5px;display:inline-flex}#root .projects-mobile-sort:hover{background:#d946ef0f}#root .projects-mobile-sort:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}}.cr-status-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cr-panel-header-inner{align-items:center;gap:10px;display:flex}.cr-glyph{font-size:20px;line-height:1}.cr-glyph.ok{color:var(--accent-green)}.cr-glyph.warn{color:var(--accent-amber)}.cr-glyph.thin{color:var(--text-dim)}.cr-headline{color:var(--text);font-size:13.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cr-headline .delta-good{color:var(--accent-green)}.cr-headline .delta-bad{color:var(--accent-amber)}.cr-subline{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:4px}.cr-subline .ok{color:var(--accent-green)}.cr-subline .warn{color:var(--accent-amber)}.cr-spark{margin-top:10px;display:block}.cr-netbars-mini-wrap{flex:auto;min-height:60px;margin-top:6px;display:flex}.cr-netbars-mini{width:100%;height:100%;display:block}@media (width<=640px){.panel.cache-report-collapsed .cr-spark,.panel.cache-report-collapsed .cr-netbars-mini-wrap,.panel.cache-report-collapsed .cr-subline.second{display:none}}.crm-header{border-bottom:1px solid #2dd4bf47}.crm-spotlight{background:linear-gradient(#2dd4bf0a,#0000);border:1px solid #2dd4bf47;border-radius:8px;margin-bottom:18px;padding:14px 16px}.crm-spotlight.anom{background:linear-gradient(#fbbf2412,#0000);border-color:#fbbf2452}.crm-spotlight-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.crm-spotlight .pill{color:var(--accent-amber);text-transform:uppercase;letter-spacing:.06em;background:#fbbf242e;border:1px solid #fbbf245c;border-radius:4px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.crm-spotlight .pill.ok{color:var(--accent-green);background:#3ddc842e;border-color:#3ddc845c}.crm-spotlight .pill.thin{color:var(--text-dim);background:#ffffff0d;border-color:#ffffff1a}.crm-spotlight .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px}.crm-spotlight strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.crm-spotlight .reasons{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:8px}.crm-spotlight .reasons code{color:var(--accent-amber);background:0 0;padding:0}.crm-section{margin-bottom:18px}.crm-section .crm-section-head{text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:10px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.crm-section .meta{color:var(--text-faint);text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px;font-weight:400}.crm-sh-spotlight{color:var(--accent-teal)}.crm-sh-timeline{color:var(--accent-cyan)}.crm-sh-net{color:var(--accent-purple)}.crm-sh-table{color:var(--accent-teal)}.crm-sh-projects{color:var(--accent-magenta)}.crm-sh-models{color:var(--accent-blue)}.crm-chart-frame{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;padding:10px 12px}.crm-chart-frame.timeline{border-color:#22d3ee38}.crm-chart-frame.netbars{border-color:#c084fc38}.cr-spark-wrap{flex-direction:column;width:100%;display:flex}.cr-spark-wrap .cr-spark{flex:none;width:100%;height:auto;display:block}.cr-spark-axis{color:var(--text-dim);font-family:var(--font-mono);flex:none;padding-left:4px;font-size:10px;line-height:1.2}.crm-counterfactual{color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);background:#3ddc840d;border:1px solid #3ddc8438;border-radius:8px;margin-top:14px;margin-bottom:18px;padding:10px 14px}.crm-counterfactual strong{color:var(--accent-green);font-size:14px;font-weight:700}.ch-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--font-mono)}.ch-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);padding:4px 12px 8px 0;font-size:10.5px;font-weight:700}.ch-table thead th.num{text-align:right}.ch-table thead th.c-date{color:var(--text)}.ch-table thead th.c-hit{color:var(--accent-cyan)}.ch-table thead th.c-tokens{color:var(--text-dim)}.ch-table thead th.c-saved{color:var(--accent-green)}.ch-table thead th.c-wasted{color:var(--accent-red)}.ch-table thead th.c-net{color:var(--accent-purple)}.ch-table thead th.c-flag{color:var(--accent-amber)}.ch-table tbody td{font-variant-numeric:tabular-nums;padding:5px 12px 5px 0}.ch-table tbody td.num{text-align:right}.ch-table tbody tr.cur{background:#fbbf2412}.ch-table tbody tr.cur td:first-child{border-left:2px solid var(--accent-amber);padding-left:8px}.ch-table tbody td.hit-good{color:var(--accent-cyan)}.ch-table tbody td.hit-bad{color:var(--accent-amber)}.ch-table tbody td.net-pos{color:var(--accent-green)}.ch-table tbody td.net-neg,.ch-table tbody td.flag-warn{color:var(--accent-amber)}.ch-table tbody td.flag-ok{color:var(--text-faint)}.ch-table tbody tr:hover td{background:#ffffff05}.crm-breakdowns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.crm-bd-card{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px}.crm-bd-card.bd-projects{border-color:#d946ef3d}.crm-bd-card.bd-models{border-color:#60a5fa3d}.crm-bd-card .crm-bd-head{text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:10.5px;font-weight:700}.crm-bd-card.bd-projects .crm-bd-head{color:var(--accent-magenta)}.crm-bd-card.bd-models .crm-bd-head{color:var(--accent-blue)}.crm-bd-card table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--font-mono)}.crm-bd-card td{font-variant-numeric:tabular-nums;padding:3px 0}.crm-bd-card td+td{padding-left:10px}.crm-bd-card td:last-child{text-align:right}.crm-bd-card td.net-pos{color:var(--accent-green)}.crm-bd-card td.net-neg{color:var(--accent-amber)}.crm-bd-card td.bd-key{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.crm-bd-card .empty{color:var(--text-dim);font-size:11px;font-style:italic}.crm-settings-popover{background:var(--panel-bg);border:1px solid var(--accent-teal);z-index:100;border-radius:8px;width:280px;padding:14px 16px;position:absolute;top:48px;right:16px;box-shadow:0 8px 24px #00000080}.crm-settings-popover h4{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:11px}.crm-settings-popover label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.crm-settings-popover input{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.crm-settings-popover input.invalid{border-color:var(--accent-red)}.crm-settings-popover .err{color:var(--accent-red);margin-top:6px;font-size:11px}.crm-settings-popover .saved{color:var(--accent-green);margin-top:6px;font-size:11px}.crm-settings-popover .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.crm-settings-popover button{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text);cursor:pointer;font-family:var(--font-mono);border-radius:4px;padding:4px 12px;font-size:12px}.crm-settings-popover button.primary{border-color:var(--accent-teal);color:var(--accent-teal);background:#2dd4bf2e}@media (width<=899px){.crm-breakdowns{grid-template-columns:1fr}}@media (width<=719px){.ch-table thead{display:none}.ch-table tbody,.ch-table tr{padding:0;display:block}.ch-table tr{border-bottom:1px solid var(--border-soft);padding:8px 0}.ch-table tbody td{padding:2px 6px 2px 0;display:inline-block}.ch-table tbody td:first-child{margin-bottom:4px;font-weight:700;display:block}.crm-settings-popover{border-radius:8px 8px 0 0;width:auto;position:fixed;inset:auto 0 0}}.view-switcher{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-seg{appearance:none;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:12.5px;font-weight:600}.view-seg:hover{color:var(--text)}.view-seg.is-active{background:var(--panel-bg);color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-blue)}.view-seg:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.sess-open-conv{appearance:none;color:var(--text-faint);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-right:6px;padding:0;line-height:0}.sess-open-conv .icon{width:13px;height:13px}.sess-open-conv:hover{color:var(--accent-blue)}.sess-open-conv:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px;border-radius:3px}.conv-view{--reader-ink:#ece9e3;--reader-faint:#a0a7b8;height:calc(100vh - var(--topbar-h) - 28px);grid-template-columns:minmax(280px,340px) 1fr;gap:12px;margin-bottom:16px;display:grid;overflow:hidden}.conv-rail{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-rail-search{border-bottom:1px solid var(--border-soft);flex:none;padding:10px}.conv-rail-search-input{box-sizing:border-box;background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:5px;padding:6px 10px;font-size:12.5px}.conv-rail-search-input::placeholder{color:var(--text-faint)}.conv-rail-search-input:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-list{flex:auto;min-height:0;padding:6px;overflow-y:auto}.conv-rail-empty,.conv-rail-hint{color:var(--text-dim);padding:10px;font-size:12px}.conv-rail-hint{color:var(--text-faint);font-style:italic}.conv-rail-row{text-align:left;appearance:none;width:100%;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-bottom:4px;padding:8px 9px;display:block}.conv-rail-row:hover{background:var(--panel-bg-2)}.conv-rail-row:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-row.is-active{background:var(--panel-bg-2);border-color:var(--accent-blue)}.conv-rail-sec{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:12px 8px 4px;font-size:10px}.conv-rail-row-title{font-family:var(--font-prose);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:5px;font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.conv-rail-row-project{color:var(--text-dim);font-weight:400}.conv-rail-row-branch,.conv-rail-row-when{color:var(--text-faint);white-space:nowrap;font-size:11px}.conv-rail-row-meta{color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:11px;display:flex}.conv-rail-row-cost{color:var(--accent-green)}.conv-rail-row-snippet{color:var(--text-dim);margin-top:4px;font-size:11.5px;line-height:1.4;overflow:hidden}.conv-rail-more{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:100%;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-top:4px;padding:6px;font-size:12px;display:block}.conv-rail-more:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.conv-new-pill{z-index:5;appearance:none;border:1px solid var(--accent-blue);background:var(--accent-blue);color:#08111f;font-family:var(--font-mono);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.conv-new-pill:hover{filter:brightness(1.08)}.conv-jump-top{z-index:5;appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:34px;height:34px;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 4px 14px #0006}.conv-jump-top:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader--empty,.conv-reader--loading,.conv-reader--error{justify-content:center;align-items:center}.conv-state{text-align:center;max-width:360px;padding:24px}.conv-state-glyph{opacity:.55;margin-bottom:12px;line-height:0;display:block}.conv-state-glyph .conv-ico{vertical-align:0;width:30px;height:30px}.conv-reader--loading .conv-state-glyph .conv-ico{transform-origin:50%;animation:.8s linear infinite conv-spin}@keyframes conv-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.conv-reader--loading .conv-state-glyph .conv-ico{animation:none}}.conv-state-title{font-family:var(--font-prose);color:var(--text);font-size:17px}.conv-state-hint{font-family:var(--font-mono);color:var(--text-dim);margin-top:6px;font-size:11.5px}.conv-reader--error .conv-state-title{color:var(--accent-red)}.conv-reader-head{border-bottom:1px solid var(--border-soft);background:var(--panel-bg-2);flex:none;padding:12px 16px}.conv-reader-title{font-family:var(--font-prose);color:var(--text);font-size:16px;font-weight:600}.conv-reader-meta{color:var(--text-dim);margin-top:3px;font-size:11.5px}.conv-back{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-bottom:8px;padding:4px 10px;font-size:12px}.conv-back:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.conv-reader-thread{flex-direction:column;gap:12px;padding-left:22px;display:flex;position:relative}.conv-reader-thread:before{content:"";background:var(--border-soft);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.conv-reader-thread>.conv-item--human:before,.conv-reader-thread>.conv-item--assistant:before{content:"";width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:16px;left:-17px}.conv-reader-thread>.conv-item--human:before{background:var(--accent-blue)}.conv-reader-thread>.conv-item--assistant:before{background:var(--accent-purple)}.conv-item{border-radius:8px;padding:10px 14px;scroll-margin-top:12px;position:relative}.conv-item--human{border:1px solid var(--border-soft);border-left:3px solid var(--accent-blue);background:#60a5fa0d}.conv-item--assistant{background:0 0;border:none;padding-left:0}.conv-item--tool_result{background:0 0;padding:0}.conv-item-head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.conv-item-label{font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--reader-faint);font-size:11.5px;font-weight:700}.conv-item--assistant .conv-item-label{color:var(--accent-purple)}.conv-item--human .conv-item-label{color:var(--accent-blue)}.conv-item-cost{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);text-align:right;margin-top:10px;padding-top:8px;font-size:10.5px;font-weight:600}.conv-item--system{background:0 0;border:none;padding:0}.conv-system-marker{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-system-marker>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-system-marker>summary::-webkit-details-marker{display:none}.conv-system-marker[open]>summary{color:var(--text-dim)}.conv-system-marker[open]>summary .conv-chev{transform:rotate(45deg)}.conv-system-marker-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-item--meta{background:0 0;border:none;padding:0}.conv-meta{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-meta>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-meta>summary::-webkit-details-marker{display:none}.conv-meta[open]>summary{color:var(--text-dim)}.conv-meta[open]>summary .conv-chev{transform:rotate(45deg)}.conv-meta-label{letter-spacing:.3px;text-transform:uppercase;font-weight:700}.conv-meta-name{color:var(--text-dim)}.conv-meta-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.conv-meta--skill{border-color:color-mix(in srgb, var(--accent-cyan) 35%, var(--border-soft))}.conv-meta--skill>summary,.conv-meta--skill[open]>summary{color:var(--accent-cyan)}.conv-meta-body{border-top:1px solid var(--border-soft);padding:8px 10px}.conv-meta-body--pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:11.5px;overflow-x:auto}.conv-rise{animation:.5s cubic-bezier(.2,.7,.3,1) both conv-rise}@keyframes conv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.conv-rise{animation:none}}.conv-item--jumped{animation:2s ease-out conv-jump-flash}@keyframes conv-jump-flash{0%{box-shadow:0 0 0 2px var(--accent-amber), 0 0 26px #fbbf2440;background:#fbbf241a}to{background:0 0;box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.conv-item--jumped{animation:none}}.conv-item--focused{box-shadow:-3px 0 0 0 var(--accent-blue);border-radius:2px}.conv-reader-thread--bulk ::details-content{transition:none!important}.conv-reader{interpolate-size:allow-keywords}.conv-chip::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-sidechain::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-toolresult-run::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-system-marker::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-meta::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-chip[open]::details-content{block-size:auto}.conv-sidechain[open]::details-content{block-size:auto}.conv-toolresult-run[open]::details-content{block-size:auto}.conv-system-marker[open]::details-content{block-size:auto}.conv-meta[open]::details-content{block-size:auto}.conv-sidechain--force::details-content{transition:none}@media (prefers-reduced-motion:reduce){.conv-reader .conv-chev{transition:none}.conv-reader ::details-content{transition:none}}.conv-ico{vertical-align:-2px;flex:none;width:14px;height:14px;display:inline-block}.conv-blocks{flex-direction:column;gap:6px;margin-top:8px;display:flex}.conv-chip{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;font-size:12px}.conv-chip>summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;list-style:none;display:flex}.conv-chip>summary::-webkit-details-marker{display:none}.conv-chip[open]>summary{color:var(--text)}.conv-chip--thinking>summary{color:var(--accent-indigo)}.conv-chip--tool>summary{color:var(--accent-cyan)}.conv-chip--result>summary{color:var(--accent-teal)}.conv-chev{opacity:.7;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}.conv-chip[open]>summary .conv-chev,.conv-toolresult-run[open]>summary .conv-chev{transform:rotate(45deg)}.conv-chip-name{flex:none;font-weight:600}.conv-chip-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:1;font-size:11.5px;overflow:hidden}.conv-chip-status{color:var(--text-faint);flex:none;font-size:11px}.conv-chip--result .conv-chip-status,.conv-chip--tool .conv-chip-status{color:var(--accent-amber)}.conv-chip-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-chip-body--io{white-space:normal;padding:6px 10px 10px}.conv-chip--media,.conv-chip--ref{color:var(--text-dim);background:var(--panel-bg-2);padding:4px 10px;display:inline-block}.conv-toolrun{flex-direction:column;gap:6px;display:flex}.conv-toolrun-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:9px;margin:6px 0 2px;font-size:10.5px;display:flex}.conv-toolrun-head:after{content:"";background:var(--border-soft);flex:1;height:1px}.conv-tool-io{margin-top:6px}.conv-tool-io:first-child{margin-top:0}.conv-tool-io-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:9.5px}.conv-tool-io-label--none{font-style:italic}.conv-code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-x:auto}.conv-code--result{color:var(--text-dim);max-height:220px;overflow:auto}.conv-code--numbered{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);border-radius:6px;grid-template-columns:auto 1fr;max-height:220px;font-size:11.5px;line-height:1.5;display:grid;overflow:auto}.cb-gutter{white-space:pre;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--border-soft);background:var(--bg);padding:8px 8px 8px 10px;position:sticky;left:0}.conv-code--numbered>pre.conv-code{white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:0;border-radius:0;margin:0;padding:8px 10px 8px 8px;overflow:visible}.codeblock{border:1px solid var(--border-soft);background:var(--bg);border-radius:8px;margin:12px 0;overflow:hidden}.cb-head{background:var(--panel-bg-2);border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:10.5px;display:flex}.cb-lang{text-transform:uppercase;letter-spacing:.1em}.cb-file{color:var(--text-faint)}.cb-copy{margin-left:auto}.codeblock>pre.conv-code{border:0;border-radius:0;margin:0}.conv-code--hl .token.keyword{color:var(--accent-purple)}.conv-code--hl .token.string{color:var(--accent-green)}.conv-code--hl .token.number,.conv-code--hl .token.boolean{color:var(--accent-amber)}.conv-code--hl .token.comment{color:var(--text-faint);font-style:italic}.conv-code--hl .token.function,.conv-code--hl .token.property,.conv-code--hl .token.tag,.conv-code--hl .token.attr-name{color:var(--accent-cyan)}.conv-code--hl .token.operator,.conv-code--hl .token.punctuation{color:var(--text-dim)}.conv-copy-btn{cursor:pointer;color:var(--text-faint);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:2px 4px;line-height:0;display:inline-grid}.conv-copy-btn:hover{color:var(--text);border-color:var(--border-soft);background:var(--panel-bg-2)}.conv-copy-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.conv-tool-io{position:relative}.conv-tool-io>.conv-copy-btn{z-index:1;position:absolute;top:2px;right:2px}.conv-item-actions{opacity:0;justify-content:flex-end;gap:4px;margin-top:6px;transition:opacity .15s;display:flex}.conv-item:hover .conv-item-actions,.conv-item:focus-within .conv-item-actions,.conv-item--focused .conv-item-actions{opacity:1}@media (prefers-reduced-motion:reduce){.conv-item-actions{transition:none}}.conv-chip-permalink{opacity:0;margin-left:auto;transition:opacity .15s}.conv-item:hover .conv-chip-permalink,.conv-item:focus-within .conv-chip-permalink,.conv-item--focused .conv-chip-permalink{opacity:1}@media (prefers-reduced-motion:reduce){.conv-chip-permalink{transition:none}}.conv-toolresult-run{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-toolresult-run>summary{cursor:pointer;color:var(--accent-teal);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;font-size:12px;list-style:none;display:flex}.conv-toolresult-run>summary::-webkit-details-marker{display:none}.conv-toolresult-run-body{flex-direction:column;gap:8px;padding:6px 12px 10px;display:flex}.conv-sidechain{background:linear-gradient(#d946ef0d,#0000 42%);border:1px solid #d946ef38;border-radius:10px;position:relative}.conv-reader-thread>.conv-sidechain:before{content:"";background:var(--accent-magenta);width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:18px;left:-17px}.conv-reader-thread>.conv-sidechain--nested:before{display:none}.conv-sidechain-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;list-style:none;display:flex}.conv-sidechain-head::-webkit-details-marker{display:none}.conv-sidechain-head:hover{background:#d946ef0a}.conv-sidechain-glyph{width:26px;height:26px;color:var(--accent-magenta);background:#d946ef1a;border:1px solid #d946ef4d;border-radius:7px;flex:none;place-items:center;font-size:14px;display:grid}.conv-sidechain-glyph .conv-ico{vertical-align:0;width:16px;height:16px}.conv-sidechain-headtext{flex:auto;min-width:0}.conv-sidechain-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-magenta);font-size:9.5px;display:block}.conv-sidechain-title{font-family:var(--font-prose);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.conv-sidechain-meta{font-family:var(--font-mono);color:var(--text-dim);flex:none;align-items:center;gap:9px;font-size:10.5px;display:flex}.conv-sidechain-cost{color:var(--accent-green)}.conv-sidechain-kindname{text-transform:none;letter-spacing:0;color:var(--accent-magenta)}.conv-sidechain-submeta{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:10.5px;display:block}.conv-sidechain-submeta>span{margin-right:9px}.conv-subagent-ok{color:var(--accent-green)}.conv-subagent-err{color:var(--accent-red,#f87171)}.conv-subagent-warn{color:var(--accent-amber,#fbbf24)}.conv-sidechain[open]>summary .conv-chev{transform:rotate(45deg)}.conv-sidechain-body{flex-direction:column;gap:10px;padding:6px 14px 12px 30px;display:flex;position:relative}.conv-sidechain-body:before{content:"";background:#d946ef29;width:2px;position:absolute;top:8px;bottom:12px;left:14px}.conv-sidechain-body>.conv-item--human:before,.conv-sidechain-body>.conv-item--assistant:before{content:"";width:7px;height:7px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:14px;left:-13px}.conv-sidechain-body>.conv-item--human:before{background:var(--accent-blue)}.conv-sidechain-body>.conv-item--assistant:before{background:var(--accent-purple)}.conv-sidechain--nested{margin-left:20px}.md{font-family:var(--font-prose);color:var(--reader-ink);word-break:break-word;font-size:16.5px;line-height:1.62}.conv-item--human .md{font-size:15.5px}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{color:var(--reader-ink);margin:16px 0 6px;font-weight:600;line-height:1.25}.md h1{font-size:22px}.md h2{font-size:20px}.md h3{font-size:17.5px}.md h4{font-size:15.5px}.md a{color:var(--accent-blue);text-underline-offset:2px;text-decoration:underline}.md code{font-family:var(--font-mono);background:var(--panel-bg-2);border-radius:3px;padding:1px 4px;font-size:12px}.md strong,.md b{font-weight:600}.md pre{font-family:var(--font-mono);background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;margin:6px 0 8px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0;font-size:12px;line-height:1.45}.md blockquote{border-left:3px solid var(--border-soft);color:var(--text-dim);margin:6px 0;padding:2px 12px}.md table{border-collapse:collapse;max-inline-size:100%;margin:8px 0;font-size:13.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-soft);text-align:left;padding:4px 8px}.md th{background:var(--panel-bg-2)}.md del{color:var(--text-faint)}.md img{max-width:100%}.conv-view mark{background:var(--accent-amber);color:#1a1400;border-radius:2px;padding:0 2px}.conv-load-sentinel{text-align:center;color:var(--text-faint);padding:12px;font-size:11px}.conv-disabled{border:1px solid var(--accent-amber);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;margin-bottom:16px;padding:18px 22px;font-size:13px;line-height:1.6}.conv-disabled code{font-family:var(--font-mono);background:var(--panel-bg-2);color:var(--accent-cyan);border-radius:3px;padding:1px 6px}@media (width<=640px){#root .conv-view,#root .conv-view--mobile{height:calc(100vh - var(--topbar-h) - 16px);grid-template-columns:1fr;gap:0;margin-bottom:12px;overflow:hidden}#root .conv-rail,#root .conv-reader{border:1px solid var(--border-soft);border-radius:6px;min-height:0;overflow:hidden}#root .conv-reader-body{gap:10px;padding:10px 12px}#root .conv-reader-thread{gap:10px;padding-left:0}#root .conv-reader-thread:before,#root .conv-reader-thread>.conv-item--human:before,#root .conv-reader-thread>.conv-item--assistant:before,#root .conv-reader-thread>.conv-sidechain:before{display:none}#root .conv-item{border-radius:7px;padding:8px 11px}#root .view-switcher{gap:2px;padding:2px}#root .view-seg{padding:4px 10px;font-size:12px}}
1
+ @font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-normal-DdKr49mV.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-normal-BekUZro8.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-normal-svq1FPys.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-normal-DYA1XoQK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-normal-BFBkh4jY.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-normal-gRTjlS2D.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-vietnamese-500-normal-CL6a8tp2.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-500-normal-BEAbKU8A.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-ext-500-normal-BNHmvKvI.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-500-normal-CZruMFou.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:500;src:url(/static/assets/newsreader-latin-500-normal-B66TYsaK.woff2)format("woff2"),url(/static/assets/newsreader-latin-500-normal-DFwuUcdu.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-vietnamese-600-normal-CaH84vfx.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-600-normal-CVAR0otO.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-ext-600-normal-BXv5iMHi.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-600-normal-BrbfzHZ5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-display:swap;font-weight:600;src:url(/static/assets/newsreader-latin-600-normal-30OJ_TG_.woff2)format("woff2"),url(/static/assets/newsreader-latin-600-normal-DUnT2r2g.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-vietnamese-400-italic-bZegYFuM.woff2)format("woff2"),url(/static/assets/newsreader-vietnamese-400-italic-QbB8kb5s.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-ext-400-italic-BMTE_bNQ.woff2)format("woff2"),url(/static/assets/newsreader-latin-ext-400-italic-qdgKLcPG.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:italic;font-display:swap;font-weight:400;src:url(/static/assets/newsreader-latin-400-italic-CEihAR-f.woff2)format("woff2"),url(/static/assets/newsreader-latin-400-italic-CNZoH1hn.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0a0b10;--panel-bg:#0d0f16;--panel-bg-2:#11131c;--border-soft:#ffffff0f;--text:#d9dde5;--text-dim:#8b92a3;--text-faint:#5a6070;--accent-green:#3ddc84;--accent-purple:#c084fc;--accent-pink:#ec4899;--accent-magenta:#d946ef;--accent-amber:#fbbf24;--accent-red:#ef4444;--accent-orange:#fb923c;--accent-blue:#60a5fa;--accent-cyan:#22d3ee;--accent-indigo:#818cf8;--accent-teal:#2dd4bf;--chip-sonnet:#1f6d3a;--chip-opus:#6d28d9;--chip-haiku:#1d4ed8;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-prose:"Newsreader", Georgia, serif;--topbar-h:64px}.panel{scroll-margin-top:var(--topbar-h)}html,body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13.5px;line-height:1.45}body{box-sizing:border-box;padding:16px}*{box-sizing:border-box}.mute{color:var(--text-dim)}.topbar{border:1px solid var(--accent-blue);background:var(--panel-bg);border-radius:6px;flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding:12px 18px;display:flex}.topbar .stat{color:var(--text-dim);white-space:nowrap;align-items:center;gap:8px;font-size:13.5px;display:flex}.topbar .stat .k{color:var(--text-dim)}.topbar .stat .v{color:var(--text);font-weight:600}.topbar .stat .hi-green{color:var(--accent-green);font-size:15px;font-weight:700}.topbar .stat .hi-cyan{color:var(--accent-cyan);font-size:15px;font-weight:700}.topbar .stat .hi-amber{color:var(--accent-amber);font-size:15px;font-weight:700}.pill-warn{background:var(--accent-amber);color:#1a1400;letter-spacing:.5px;font-size:12px;font-weight:800;font-family:var(--font-mono);border-radius:4px;padding:2px 10px}.topbar .icon{width:16px;height:16px}.topbar-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-actions>.topbar-icon-btn{display:none}.grid{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1100px){.grid{grid-template-columns:minmax(0,1fr)}}.topbar-brand{gap:8px!important}.topbar-brand .brand-name{color:var(--text);letter-spacing:.01em;font-weight:700}.topbar-brand .brand-version{color:var(--text-dim);font-weight:500}.badge-update{color:var(--accent-amber);cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);background:#fbbf241f;border:1px solid #fbbf2473;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.badge-update:hover{background:#fbbf2438}.badge-update:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.badge-update-arrow,.badge-update-version{display:inline-block}.doctor-chip{cursor:pointer;font:inherit;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--text-dim);background:0 0;border:1px solid;border-radius:12px;align-items:center;gap:4px;padding:2px 9px;display:inline-flex}.doctor-chip:hover{background:#ffffff0a}.doctor-chip:focus-visible{outline-offset:2px;outline:2px solid}.doctor-chip__dot{font-size:10px;line-height:1}.doctor-chip__label{display:inline-block}.doctor-chip--ok{color:var(--accent-green)}.doctor-chip--warn{color:var(--accent-amber)}.doctor-chip--fail{color:var(--accent-red)}.doctor-modal-card{width:min(720px,92vw)}.doctor-modal__summary{color:var(--text-dim);font-family:var(--font-mono);margin:0 0 12px}.doctor-modal__error{color:var(--accent-red);margin:0 0 12px}.doctor-modal__category{border:1px solid var(--border-soft);border-radius:6px;margin:8px 0;overflow:hidden}.doctor-modal__category--warn{border-color:#fbbf2480}.doctor-modal__category--fail{border-color:#f8717180}.doctor-modal__category-header{cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:#ffffff05;border:none;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.doctor-modal__category-header:hover{background:#ffffff0d}.doctor-modal__category--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__category--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__category--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__check{border-top:1px solid var(--border-soft);padding:8px 14px}.doctor-modal__check p{margin:0 0 4px}.doctor-modal__check--ok .doctor-modal__glyph{color:var(--accent-green)}.doctor-modal__check--warn .doctor-modal__glyph{color:var(--accent-amber)}.doctor-modal__check--fail .doctor-modal__glyph{color:var(--accent-red)}.doctor-modal__remediation{color:var(--text-dim);font-style:italic}.doctor-modal__details-toggle{color:var(--accent-cyan);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:12px}.doctor-modal__details{background:#00000040;border-radius:4px;max-height:200px;margin:6px 0 0;padding:8px;font-size:12px;overflow:auto}.doctor-modal__header-actions{align-items:center;gap:8px;display:flex}.doctor-modal__refresh{border:1px solid var(--border-soft);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px}.doctor-modal__refresh:hover{background:#ffffff0a}.doctor-modal__refresh[disabled]{opacity:.5;cursor:wait}.update-modal-root{z-index:110;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-modal-card{width:min(720px,92vw)}.update-modal-card.accent-red{border-color:var(--accent-red)}.update-modal-body{padding:4px 0 0}.update-kv{grid-template-columns:96px 1fr;gap:7px 16px;margin-bottom:14px;display:grid}.update-kv .k{color:var(--text-dim)}.update-kv .v{color:var(--text)}.update-kv .v .muted{color:var(--text-dim);font-size:12px}.update-row-label{color:var(--text-dim);margin:6px 0 4px;font-size:12px}.update-cmd{background:var(--bg);border:1px solid var(--border-soft);color:var(--accent-cyan);font-size:12px;font-family:var(--font-mono);border-radius:4px;margin:0 0 14px;padding:7px 12px;display:inline-block}.update-cmd-inline{margin:0}.update-link a{color:var(--accent-blue);font-size:12px;text-decoration:none}.update-link a:hover{text-decoration:underline}.update-prerelease-note{color:var(--text-dim);white-space:pre-line;background:#c084fc14;border:1px solid #c084fc4d;border-radius:4px;margin:12px 0 4px;padding:8px 12px;font-size:12px}.update-manual-note{color:var(--text-dim);margin:4px 0 14px;font-size:12px}.update-manual-note a{color:var(--accent-blue)}.update-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.update-btn{cursor:pointer;border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text);border-radius:4px;padding:6px 14px;font-family:inherit;font-size:12px}.update-btn:hover:not([disabled]){background:var(--panel-bg)}.update-btn[disabled]{opacity:.55;cursor:not-allowed}.update-btn-primary{background:var(--accent-amber);border-color:var(--accent-amber);color:#1a1400;font-weight:700}.update-btn-primary:hover:not([disabled]){background:#ffd44a;border-color:#ffd44a}.update-running-row{align-items:center;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.update-running-row-success .update-cmd-inline{color:var(--accent-green)}.update-running-row-failed .update-cmd-inline{color:var(--accent-red)}.update-spinner{color:var(--accent-blue);font-size:16px;animation:1.1s linear infinite update-spin;display:inline-block}@keyframes update-spin{to{transform:rotate(360deg)}}.update-check{color:var(--accent-green);font-size:16px;font-weight:700}.update-x{color:var(--accent-red);font-size:16px;font-weight:700}.update-elapsed{color:var(--text-dim);margin-left:auto;font-size:12px}.update-success-reconnect{color:var(--text-dim);font-size:12px}.update-stream{background:var(--bg);border:1px solid var(--border-soft);color:var(--text);font-size:12px;line-height:1.55;font-family:var(--font-mono);white-space:pre;border-radius:4px;max-height:260px;margin:4px 0 6px;padding:11px 13px;overflow:auto}.update-stream-fail{max-height:200px}.update-stream-line{color:var(--text)}.update-stream-line.err{color:var(--accent-red)}.update-stream-step{color:var(--accent-blue);font-weight:600}.update-stream-exit,.update-stream-trunc,.update-stream-empty{color:var(--text-dim);font-style:italic}.update-stream-cap{color:var(--text-dim);text-align:right;margin:4px 0 0;font-size:11px}.panel{border:1px solid var(--border-soft);background:radial-gradient(120% 120% at 0% 0%, #ffffff06 0%, transparent 60%), linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;flex-direction:column;min-width:0;min-height:320px;padding:16px 22px 14px;transition:box-shadow .12s;display:flex}.panel.accent-green{border-color:var(--accent-green);--accent-line:#3ddc8447;--accent-glow:#3ddc840f}.panel.accent-purple{border-color:var(--accent-purple);--accent-line:#c084fc4d;--accent-glow:#c084fc0f}.panel.accent-amber{border-color:var(--accent-amber);--accent-line:#fbbf2442;--accent-glow:#fbbf240f}.panel.accent-orange{border-color:var(--accent-orange);--accent-line:#fb923c47;--accent-glow:#fb923c0f}.panel.accent-cyan{border-color:var(--accent-cyan);--accent-line:#22d3ee52;--accent-glow:#22d3ee0f;--pill-bg:#22d3ee2e}.panel.accent-pink{border-color:var(--accent-pink);--accent-line:#ec489952;--accent-glow:#ec48990f;--pill-bg:#ec48992e}.panel.accent-blue{border-color:var(--accent-blue);--accent-line:#60a5fa4d;--accent-glow:#60a5fa0f;--pill-bg:#60a5fa2e}.panel.accent-indigo{border-color:var(--accent-indigo);--accent-line:#818cf84d;--accent-glow:#818cf80f;--pill-bg:#818cf82e}.panel.accent-magenta{border-color:var(--accent-magenta);--accent-line:#d946ef4d;--accent-glow:#d946ef0f;--pill-bg:#d946ef2e}.panel.accent-teal{border-color:var(--accent-teal);--accent-line:#2dd4bf47;--accent-glow:#2dd4bf0f;--pill-bg:#2dd4bf2e}.panel:hover{box-shadow:inset 0 0 28px var(--accent-glow);cursor:pointer}.panel-header{border-bottom:1px solid var(--accent-line);align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.panel-header .icon{width:18px;height:18px}.panel-header h3{letter-spacing:.2px;font-size:15px;font-weight:700;font-family:var(--font-mono);margin:0}.panel-header h3 .sub{color:var(--text-dim);margin-left:6px;font-weight:500}.panel-body{flex:auto}.panel-foot{border-top:1px solid var(--accent-line);color:var(--text-dim);margin-top:auto;padding-top:10px;font-size:13px}.cw-body{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}@media (width<=1100px){.cw-body{grid-template-columns:1fr}}.cw-big .label{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.cw-big .num{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;margin-bottom:18px;font-size:72px;font-weight:800;line-height:1.05}.progress{gap:2px;height:16px;margin-bottom:6px;display:flex}.progress .cell{background:#1a1f2b;border-radius:1px;flex:auto}.progress .cell.on{background:var(--accent-green)}.progress-scale{color:var(--text-faint);justify-content:space-between;font-size:12px;display:flex}.cw-left{flex-direction:column;justify-content:flex-start;gap:16px;display:flex}.cw-kv.kv-five-hour .sub.delta-low{color:var(--accent-green)}.cw-kv.kv-five-hour .sub.delta-moderate{color:var(--accent-cyan)}.cw-kv.kv-five-hour .sub.delta-elevated{color:var(--accent-amber)}.cw-kv.kv-five-hour .sub.delta-high{color:var(--accent-red)}.credit-chip{color:var(--accent-amber);margin-left:6px}.cw-right{border-left:1px solid var(--border-soft);flex-direction:column;gap:18px;padding-left:20px;display:flex}@media (width<=1100px){.cw-right{border-left:none;border-top:1px solid var(--border-soft);padding-top:16px;padding-left:0}}.cw-kv{align-items:flex-start;gap:10px;display:flex}.cw-kv .icon{width:18px;height:18px;color:var(--accent-cyan);flex-shrink:0;margin-top:2px}.cw-kv.kv-spent .icon{color:var(--accent-magenta)}.cw-kv.kv-reset .icon{color:var(--accent-amber)}.cw-kv .body{flex:1}.cw-kv .row1{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.cw-kv .row1 .k{color:var(--text);font-weight:600}.cw-kv .row1 .v{font-size:18px;font-weight:800}.cw-kv .row1 .v.cyan{color:var(--accent-cyan)}.cw-kv .row1 .v.magenta{color:var(--accent-magenta)}.cw-kv .row1 .v.amber{color:var(--accent-amber);font-size:15px}.cw-kv .sub{color:var(--text-dim);margin-top:2px;font-size:13px}.cw-kv .sub .magenta{color:var(--accent-magenta)}.panel-foot.cw-foot{align-items:center;gap:8px;display:flex}.panel-foot.cw-foot .icon{width:14px;height:14px;color:var(--accent-cyan)}.warn-banner{background:var(--accent-amber);color:#1a1400;letter-spacing:1px;font-size:18px;font-weight:800;font-family:var(--font-mono);background-image:radial-gradient(#0000002e 1px,#0000 1px);background-size:6px 6px;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.warn-banner.good{background-color:var(--accent-green);color:#0b2a16}.warn-banner.warn{background-color:var(--accent-amber);color:#1a1400}.warn-banner.over{background-color:var(--accent-red);color:#ffe7e7}.fc-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.fc-row .left{color:var(--text);align-items:center;gap:10px;font-size:13.5px;font-weight:500;display:flex}.fc-row .left .icon-box{background:#ffffff05;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.fc-row .right{text-align:right;color:var(--text);font-size:14px;font-weight:700}.fc-row .right .num{margin-right:6px;font-size:18px;font-weight:800}.fc-row .right .at{color:var(--accent-blue);font-weight:500}.fc-row.fc-wkavg .icon-box .icon{color:var(--accent-blue)}.fc-row.fc-wkavg .right .num{color:var(--accent-green)}.fc-row.fc-24h .icon-box .icon,.fc-row.fc-24h .right .num{color:var(--accent-red)}.fc-row.fc-budget-100 .icon-box .icon,.fc-row.fc-budget-100 .right .num,.fc-row.fc-budget-90 .icon-box .icon,.fc-row.fc-budget-90 .right .num{color:var(--accent-green)}.fc-row .right .per{color:var(--text-dim);font-size:12.5px;font-weight:500}.fc-divider{border-top:1px solid var(--border-soft);margin:6px 0}.panel-foot.fc-conf{justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;display:flex}.panel-foot.fc-conf .lbl{color:var(--text-dim);align-items:center;gap:8px;display:flex}.panel-foot.fc-conf .lbl .icon{color:var(--accent-pink);width:14px;height:14px}.panel-foot.fc-conf .lbl .val{color:var(--accent-pink);margin-left:4px;font-weight:700}.panel-foot.fc-conf .dots{gap:4px;display:flex}.panel-foot.fc-conf .dots .d{background:#262a35;border-radius:1px;width:14px;height:8px}.panel-foot.fc-conf .dots .d.on{background:var(--accent-purple)}.trend-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.trend-table thead th{text-align:left;border-bottom:1px solid var(--border-soft);padding:4px 10px 8px 0;font-weight:700}.trend-table thead th.num{text-align:right}.trend-table thead th.c-week{color:var(--text)}.trend-table thead th.c-used{color:var(--accent-green)}.trend-table thead th.c-dollar{color:var(--accent-purple)}.trend-table thead th.c-delta{color:var(--accent-amber)}.trend-table tbody td{padding:5px 10px 5px 0}.trend-table tbody td.num{text-align:right}.trend-table tbody tr.current td{color:var(--accent-cyan);background:#22d3ee0f;border-top:1px solid #22d3ee40;border-bottom:1px solid #22d3ee40}.trend-table tbody td.dollar{color:var(--accent-purple)}.trend-table tbody td.delta-pos{color:var(--accent-red)}.trend-table tbody td.delta-neg{color:var(--accent-green)}.trend-spark-title{color:var(--accent-cyan);margin-top:18px;font-weight:700}.trend-spark{grid-template-columns:repeat(9,1fr);align-items:end;gap:6px;height:72px;margin:10px 0 6px;display:grid}.trend-spark .bar{background:var(--accent-purple);border-radius:2px}.trend-spark-legend{color:var(--text-dim);font-size:12px;font-family:var(--font-mono);align-items:center;gap:10px;display:flex}.trend-spark-legend .line{height:1px;color:var(--text-dim);background-image:linear-gradient(90deg,currentColor 50%,#0000 50%);background-size:6px 1px;flex:1}.sort-pill{border:1px solid var(--border-soft);background:var(--panel-bg-2);color:var(--text-dim);cursor:pointer;font-size:12.5px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:8px;padding:4px 12px;display:inline-flex}.sort-pill:hover{border-color:var(--accent-orange);color:var(--text)}.sort-pill .icon{width:12px;height:12px}.sess-table{border-collapse:collapse;width:100%;font-size:13px;font-family:var(--font-mono)}.sess-table thead th{text-align:left;color:var(--accent-amber);padding:4px 10px 8px 0;font-weight:700}.sess-table thead th.num{text-align:right}.sess-table tbody td{white-space:nowrap;padding:5px 10px 5px 0}.sess-table tbody td.num{text-align:right}.sess-table tbody td.started{color:var(--accent-cyan)}.sess-table tbody td.project{color:var(--accent-blue)}.sess-table tbody td.cost-low{color:var(--accent-green)}.sess-table tbody td.cost-mid{color:var(--accent-amber)}.sess-table tbody td.cost-high{color:var(--accent-red)}.sess-table tbody td.cost-xs{color:var(--accent-green)}.chip{font-size:12px;font-weight:700;font-family:var(--font-mono);border-radius:4px;padding:1px 8px;display:inline-block}.chip.sonnet{background:var(--chip-sonnet);color:#b6f7cc}.chip.opus{background:var(--chip-opus);color:#e0cfff}.chip.haiku{background:var(--chip-haiku);color:#cfdcff}.chip.chip-aging{color:#cbd5e1;background:#94a3b82e;border:1px solid #94a3b852}.chip.chip-stale{color:var(--accent-amber);background:#fbbf242e;border:1px solid #fbbf2473;font-weight:800}.footer{border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;flex-wrap:wrap;gap:24px;padding:10px 18px;font-size:13px;display:flex}.kb{align-items:center;gap:8px;display:inline-flex}.kb kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text);border-radius:3px;padding:1px 8px;font-size:12px}.kb kbd.accent-green{color:var(--accent-green);border-color:var(--accent-green)}.kb kbd.accent-purple{color:var(--accent-purple);border-color:var(--accent-purple)}.kb kbd.accent-amber{color:var(--accent-amber);border-color:var(--accent-amber)}.kb kbd.accent-red{color:var(--accent-red);border-color:var(--accent-red)}.kb kbd.mute{color:var(--text-faint);border-color:var(--border-soft)}#help-overlay[hidden]{display:none}#help-overlay{z-index:1000;font-family:var(--font-mono);background:#0a0b10d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#help-overlay .help-card{background:var(--panel-bg);border:1px solid var(--accent-blue);min-width:320px;color:var(--text);border-radius:8px;padding:24px 28px}#help-overlay .help-header{justify-content:space-between;align-items:center;margin:0 0 12px;display:flex}#help-overlay .help-card h2{color:var(--accent-blue);margin:0;font-size:15px}#help-overlay .help-card table{border-collapse:collapse}#help-overlay .help-card td{vertical-align:top;padding:4px 12px 4px 0}#help-overlay .help-card td kbd,#help-overlay .help-card .help-gesture-list kbd{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:3px;padding:1px 8px}#help-overlay .help-card .meta{color:var(--text-dim);margin-top:16px;font-size:12px}#modal-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#modal-root[hidden]{display:none}.modal-backdrop{background:#0000008c;position:absolute;inset:0}.modal-card{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-green);border-radius:8px;flex-direction:column;width:min(720px,92vw);max-height:85vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.modal-card.accent-purple{border-color:var(--accent-purple)}.modal-card.accent-amber{border-color:var(--accent-amber)}.modal-card.accent-orange{border-color:var(--accent-orange)}.modal-card.accent-cyan{border-color:var(--accent-cyan)}.modal-card.accent-pink{border-color:var(--accent-pink)}.modal-card.accent-indigo{border-color:var(--accent-indigo)}.modal-handle{display:none}.modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.modal-header h2{margin:0;font-size:18px;font-weight:500}.modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:24px;line-height:1}.modal-close:hover{color:var(--accent-red)}.modal-body{scrollbar-gutter:stable;padding:16px 18px;overflow:auto}.empty-state{color:var(--text-dim);text-align:center;padding:18px}.m-hero{gap:14px 24px;padding-bottom:14px;display:grid}.m-hero.cols-2{grid-template-columns:repeat(2,1fr)}.m-hero.cols-3{grid-template-columns:repeat(3,1fr)}.m-hero.cols-4{grid-template-columns:repeat(4,1fr)}.m-kv{align-items:flex-start;gap:10px;display:flex}.m-kv .icon{flex-shrink:0;width:20px;height:20px;margin-top:3px}.m-kv .v{letter-spacing:-.01em;font-size:22px;font-weight:700;line-height:1.15}.m-kv .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:10.5px;font-weight:500}.m-kv .sub{color:var(--text-dim);margin-top:2px;font-size:11px}.m-sec{text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:8px;margin:18px 0 10px;font-size:11.5px;font-weight:600;display:flex}.m-sec .icon{flex-shrink:0;width:15px;height:15px}.m-sec.sec-tok{color:var(--accent-green)}.m-sec.sec-mod{color:var(--accent-purple)}.m-sec.sec-costm{color:var(--accent-magenta)}.m-sec.sec-src{color:var(--accent-blue)}.m-sec.sec-prog{color:var(--accent-green)}.m-sec.sec-ms{color:var(--accent-purple)}.m-sec.sec-range{color:var(--accent-amber)}.m-sec.sec-rates{color:var(--accent-cyan)}.m-sec.sec-bud{color:var(--accent-magenta)}.m-sec.sec-wk{color:var(--accent-green)}.m-sec.sec-spark{color:var(--accent-amber)}.m-sec.sec-tbl{color:var(--accent-purple)}.m-sec.sec-burn{color:var(--accent-amber)}.m-sec.sec-5h{color:var(--accent-cyan)}.mcw-5h-credit-row .mcw-5h-credit-cell{color:var(--accent-amber);border-top:1px dashed var(--border-soft);border-bottom:1px dashed var(--border-soft);text-align:center;background:#fbbf2414;font-weight:600}.m-pill{border:1px solid #0000;border-radius:12px;padding:3px 10px;font-size:11.5px;font-weight:600}.m-pill.accent-green{color:var(--accent-green);background:#3ddc8424;border-color:#3ddc844d}.m-pill.accent-amber{color:var(--accent-amber);background:#fbbf2426;border-color:#fbbf2459}.m-pill.accent-cyan{color:var(--accent-cyan);background:#22d3ee24;border-color:#22d3ee4d}.m-pill.accent-magenta{color:var(--accent-magenta);background:#d946ef24;border-color:#d946ef4d}.m-pill.accent-purple{color:var(--accent-purple);background:#c084fc2e;border-color:#c084fc59}.m-pill.accent-blue{color:var(--accent-blue);background:#60a5fa24;border-color:#60a5fa4d}.m-pill.accent-red{color:var(--accent-red);background:#ef444424;border-color:#ef44444d}.m-chipstrip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.m-histable{border-collapse:collapse;width:100%;font-size:12.5px}.m-histable th,.m-histable td{text-align:left;padding:5px 10px}.m-histable th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);font-size:10.5px;font-weight:400}.m-histable td.num,.m-histable th.num{text-align:right;font-variant-numeric:tabular-nums}.m-histable tbody tr:nth-child(2n){background:#ffffff04}.m-histable tr.cur{background:#fbbf2414}.m-histable tr.cur td:first-child{border-left:2px solid var(--accent-amber)}.mcw-herobar{padding:4px 0 6px}.mcw-bignum{font-family:var(--font-mono);color:var(--accent-green);letter-spacing:-2px;font-size:46px;font-weight:800;line-height:1}.mcw-bignum .unit{color:var(--text-dim);letter-spacing:0;margin-left:4px;font-size:22px;font-weight:500}.mcw-pbar-wrap{margin-top:12px}.mcw-pbar{border:1px solid var(--border-soft);background:#ffffff0a;border-radius:4px;height:22px;position:relative;overflow:visible}.mcw-pbar .fill{background:linear-gradient(90deg, var(--accent-green), #5ef0a4);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.mcw-pbar .ticks .tick{background:#c084fca6;width:2px;position:absolute;top:-4px;bottom:-4px}.mcw-pbar .ticks .tick:after{content:attr(data-p);color:var(--accent-purple);font-size:9px;font-weight:600;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.mcw-pbar .marker{background:var(--accent-green);width:3px;position:absolute;top:-5px;bottom:-5px;box-shadow:0 0 6px #3ddc84b3}.mcw-pscale{color:var(--text-dim);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.mcw-mini{color:var(--text-dim);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:12px;display:flex}.mcw-mini .s .k{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.mcw-mini .s .v{color:var(--text);margin-left:6px;font-size:14px;font-weight:700}.mcw-mini .s .v.v-magenta{color:var(--accent-magenta)}.mcw-mini .s .v.v-cyan{color:var(--accent-cyan)}.mcw-mshead{align-items:center;gap:10px;margin-bottom:8px;display:flex}.mcw-ms-sub{color:var(--text-dim);font-size:11px}#mcw-table .pct-cell{text-align:center;min-width:26px;font-family:var(--font-mono);padding:1px 4px;font-size:11px;display:inline-block}#mcw-table .m-marginal{color:var(--accent-amber);font-family:var(--font-mono)}#mcw-table .m-fh{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono)}#mcw-table td.d{color:var(--text-dim);font-family:var(--font-mono);font-size:11px}.m-kv.kv-wa .icon{color:var(--accent-blue)}.m-kv.kv-r24 .icon{color:var(--accent-amber)}.m-kv.kv-wa .v{color:var(--accent-blue)}.m-kv.kv-r24 .v{color:var(--accent-amber)}.mfc-rangewrap{padding:52px 0 32px;position:relative}.mfc-rangetrack{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;height:16px;position:relative;overflow:visible;box-shadow:inset 0 1px #00000073}.mfc-zone{pointer-events:none;position:absolute;top:0;bottom:0}.mfc-zone.safe{background:#3ddc841a;border-radius:5px 0 0 5px;width:81.82%;left:0}.mfc-zone.warn{background:#fbbf2433;width:9.09%;left:81.82%}.mfc-zone.over{background:#ef444440;border-radius:0 5px 5px 0;left:90.91%;right:0}.mfc-bound{pointer-events:none;width:1px;position:absolute;top:-3px;bottom:-3px}.mfc-bound.b90{background:#fbbf248c;left:81.82%}.mfc-bound.b100{background:#ef4444a6;left:90.91%}.mfc-bound .lbl{font-size:9.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.mfc-bound.b90 .lbl{color:var(--accent-amber)}.mfc-bound.b100 .lbl{color:var(--accent-red)}.mfc-rangeband{background:linear-gradient(90deg, var(--accent-blue), var(--accent-amber));opacity:.85;pointer-events:none;border-radius:2px;height:8px;position:absolute;top:4px}.mfc-chev{filter:drop-shadow(0 1px 1px #0000008c);pointer-events:none;border-top:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:left .25s ease-out;position:absolute;top:-10px;transform:translate(-50%)}.mfc-chev.wa{color:var(--accent-blue)}.mfc-chev.r24{color:var(--accent-amber)}.mfc-pills{pointer-events:none;width:100%;height:18px;position:absolute;top:10px;left:0}.mfc-pill{font-size:10.5px;font-weight:700;font-family:var(--font-mono);white-space:nowrap;pointer-events:none;border-radius:10px;padding:2px 8px;transition:left .25s ease-out;position:absolute;top:0;transform:translate(-50%);box-shadow:0 1px 2px #00000059}.mfc-pill.wa{color:var(--accent-blue);background:#60a5fa38;border:1px solid #60a5fa99}.mfc-pill.r24{color:var(--accent-amber);background:#fbbf2438;border:1px solid #fbbf24a6}.mfc-leaders{pointer-events:none;width:100%;height:18px;position:absolute;top:28px;left:0;overflow:visible}.mfc-leaders path{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.mfc-leaders path.wa{stroke:var(--accent-blue)}.mfc-leaders path.r24{stroke:var(--accent-amber)}.mfc-kvgrid{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.mfc-kvgrid.mfc-kvgrid-single{grid-template-columns:1fr}.mfc-krow{border-bottom:1px dotted var(--border-soft);justify-content:space-between;align-items:baseline;padding:6px 0;font-size:12.5px;display:flex}.mfc-krow .l{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.mfc-krow .v{font-weight:700;font-family:var(--font-mono)}.mfc-krow .v.v-amber{color:var(--accent-amber)}.mfc-krow .v.v-cyan{color:var(--accent-cyan)}.mfc-krow .v.v-magenta{color:var(--accent-magenta)}.mfc-krow .v.v-green{color:var(--accent-green)}.mfc-krow .v.v-blue{color:var(--accent-blue)}.m-kv.kv-cur .icon,.m-kv.kv-cur .v{color:var(--accent-cyan)}.m-kv.kv-med .icon,.m-kv.kv-med .v{color:var(--accent-blue)}.m-kv.kv-delta.delta-down .icon,.m-kv.kv-delta.delta-down .v{color:var(--accent-green)}.m-kv.kv-delta.delta-up .icon,.m-kv.kv-delta.delta-up .v{color:var(--accent-red)}.m-kv.kv-delta.delta-flat .icon,.m-kv.kv-delta.delta-flat .v{color:var(--text-dim)}.m-sec .mtr-legend{text-transform:none;letter-spacing:0;color:var(--text-dim);align-items:center;gap:10px;margin-left:auto;font-size:10px;font-weight:500;display:flex}.m-sec .mtr-legend .sw{vertical-align:middle;border-radius:1px;width:18px;height:2px;margin-right:4px;display:inline-block}.m-sec .mtr-legend .sw.sw-dpp{background:var(--accent-amber);height:2.2px}.m-sec .mtr-legend .sw.sw-used{background:var(--text-dim);opacity:.7}.m-sec .mtr-legend.legend-no-used .sw-used,.m-sec .mtr-legend.legend-no-used .sw-used+.sw-lbl{display:none}.mtr-sparkhero{padding:6px 0 4px}.mtr-sparkhero svg{width:100%;height:140px;display:block}.mtr-sparkaxis{color:var(--text-dim);justify-content:space-between;margin-top:4px;padding:0 6px;font-size:10px;display:flex}.mtr-trendline{fill:none;stroke:var(--accent-amber);stroke-width:2.2px}.mtr-trendline-dim{fill:none;stroke:var(--text-dim);stroke-width:1.4px;opacity:.55}.mtr-trenddot{fill:var(--accent-amber)}.mtr-trenddot.cur{fill:var(--accent-cyan);stroke:var(--bg);stroke-width:2px}.mtr-axis{stroke:var(--border-soft);stroke-width:1px}.mtr-hl{stroke:#c084fc59;stroke-dasharray:2 3;stroke-width:1px}.mtr-ylabel{fill:var(--text-dim);font-family:var(--font-mono);font-size:10px}.mtr-medlabel{fill:var(--accent-purple);font-family:var(--font-mono);font-size:10px}.mtr-curlabel{fill:var(--accent-cyan);font-family:var(--font-mono);font-size:10px;font-weight:700}.mtr-tbl-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.mtr-tbl-sub{color:var(--text-dim);font-size:11px}#mtr-table .wlab{color:var(--text)}#mtr-table tr.cur .wlab{color:var(--accent-amber);font-weight:700}#mtr-table .usedpct{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .dpp{color:var(--accent-cyan);font-family:var(--font-mono)}#mtr-table .delta.up{color:var(--accent-red);font-family:var(--font-mono)}#mtr-table .delta.down{color:var(--accent-green);font-family:var(--font-mono)}#mtr-table .delta.flat{color:var(--text-dim);font-family:var(--font-mono)}.modal-loading{text-align:center;color:var(--text-dim);padding:40px}.modal-error{color:var(--accent-red);padding:18px}.msess-badge{font-family:var(--font-mono);color:#e0cfff;background:#c084fc26;border:1px solid #c084fc59;border-radius:12px;padding:4px 12px;font-size:12.5px}.m-kv.kv-cost .icon{color:var(--accent-magenta)}.m-kv.kv-dur .icon{color:var(--accent-amber)}.m-kv.kv-proj .icon{color:var(--accent-blue)}.m-kv.kv-cost .v{color:var(--accent-magenta)}.m-kv.kv-dur .v{color:var(--accent-amber)}.m-kv.kv-proj .v{color:var(--accent-blue);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:16px;display:block;overflow:hidden}.msess-ts{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);border-top:1px dotted var(--border-soft);border-bottom:1px dotted var(--border-soft);align-items:center;gap:22px;padding:10px 0;display:flex}.msess-ts .icon{width:14px;height:14px;color:var(--accent-cyan);flex-shrink:0}.msess-ts .k{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin-right:6px;font-size:10.5px}.msess-ts .v{color:var(--accent-cyan)}.msess-tok-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.msess-tok-tile{border:1px solid var(--border-soft);background:#ffffff05;border-radius:6px;padding:10px 12px}.msess-tok-tile .lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:10.5px}.msess-tok-tile .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:15px}.msess-tok-tile.cache-hit .n{color:var(--accent-green)}.msess-tok-tile.cache-hit .bar{background:#3ddc842e;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.msess-tok-tile.cache-hit .bar .fill{background:var(--accent-green);height:100%}.msess-costm{margin-top:4px}.msess-costm .bar{background:var(--border-soft);border-radius:4px;height:22px;display:flex;overflow:hidden}.msess-costm .bar .seg{height:100%}.msess-costm .bar .seg.opus{background:var(--chip-opus)}.msess-costm .bar .seg.sonnet{background:var(--chip-sonnet)}.msess-costm .bar .seg.haiku{background:var(--chip-haiku)}.msess-costm .legend{flex-wrap:wrap;gap:14px 20px;margin-top:10px;font-size:12px;display:flex}.msess-costm .legend .lg{align-items:center;gap:8px;display:flex}.msess-costm .legend .sw{border-radius:2px;flex-shrink:0;width:10px;height:10px}.msess-costm .legend .sw.opus{background:var(--chip-opus)}.msess-costm .legend .sw.sonnet{background:var(--chip-sonnet)}.msess-costm .legend .sw.haiku{background:var(--chip-haiku)}.msess-costm .legend .name{color:var(--text)}.msess-costm .legend .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.msess-costm .legend .pct{color:var(--text-dim);margin-left:2px;font-size:11px}.msess-src .src-head{color:var(--text);align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.msess-src .count-pill{color:var(--accent-blue);font-size:11px;font-family:var(--font-mono);background:#60a5fa2e;border-radius:10px;padding:1px 8px;font-weight:600}.msess-src .sub{color:var(--text-dim);font-size:11.5px}.msess-src .sub .dot{color:var(--border-soft);padding:0 2px}.msess-src .sub .subcount{color:var(--accent-amber)}.msess-src .primary-path{font-family:var(--font-mono);color:var(--text);border-left:2px solid var(--accent-blue);word-break:break-all;background:#ffffff05;border-radius:4px;padding:6px 10px;font-size:11.5px}.msess-src .src-empty-primary{font-family:var(--font-mono);color:var(--text-dim);padding:6px 10px;font-size:11.5px}.msess-src details.subagents{margin-top:10px}.msess-src details.subagents summary{cursor:pointer;color:var(--accent-blue);padding:4px 0;font-size:12px;font-weight:500;list-style:none}.msess-src details.subagents summary::-webkit-details-marker{display:none}.msess-src details.subagents summary::marker{display:none}.msess-src details.subagents summary:before{content:"▸";width:14px;color:var(--text-dim);display:inline-block}.msess-src details.subagents[open] summary:before{content:"▾"}.msess-src details.subagents .paths{font-family:var(--font-mono);color:var(--text-dim);margin:6px 0 0;padding-left:16px;font-size:11px;list-style:none}.msess-src details.subagents .paths li{word-break:break-all;padding:1px 0}.mblock-burn{flex-direction:column;gap:6px;margin-top:4px;display:flex}.mblock-burn .row{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.mblock-burn .row .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;min-width:100px;font-size:11px}.mblock-burn .row .v{color:var(--text);font-weight:700}.mblock-burn .row .v.amber{color:var(--accent-amber)}.mblock-burn .row .v.cyan{color:var(--accent-cyan)}.mblock-burn .row .dim{color:var(--text-faint);font-size:11px}.mblock-burn .row .sep{color:var(--text-faint)}.mblock-timeline{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;margin:12px 0;padding:10px}.sessions-ctrls{align-items:center;gap:6px;display:inline-flex}.ctrl-btn{border:1px solid var(--border-soft);cursor:pointer;color:inherit;background:0 0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-family:inherit;font-size:12px;display:inline-flex}.ctrl-btn:hover{background:#ffffff0a}.ctrl-btn.as-chip{padding:2px 8px}.ctrl-btn .chip{color:var(--accent-orange);font-size:11px}.ctrl-btn .chip-x{color:var(--text-dim);margin-left:6px}.ctrl-input{border:1px solid var(--accent-orange);color:inherit;background:0 0;border-radius:4px;min-width:180px;padding:3px 6px;font-family:inherit;font-size:12px}.ctrl-input:focus{outline:none;box-shadow:0 0 0 2px #fb923c59}.search-container{align-items:center;gap:6px;display:inline-flex}.match-count{color:var(--text-dim);text-align:center;min-width:60px;font-size:11px;font-family:var(--font-mono)}mark{color:inherit;background:#fbbf2438;border-radius:2px;padding:0 2px}mark.current{background:var(--accent-amber);color:#000}.session-row.search-match{box-shadow:inset 2px 0 0 var(--accent-amber);background:#fbbf2414}.session-row[data-session-id]{cursor:pointer}.session-row:hover{background:#ffffff08}#sess-rows .model-chip{cursor:pointer}#sess-rows .model-chip:hover{filter:brightness(1.2)}#sess-rows .model-chip:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}.panel:focus{outline:none}.panel:focus-visible{outline-offset:4px}.panel.accent-green:focus-visible{outline:2px solid var(--accent-green)}.panel.accent-purple:focus-visible{outline:2px solid var(--accent-purple)}.panel.accent-amber:focus-visible{outline:2px solid var(--accent-amber)}.panel.accent-orange:focus-visible{outline:2px solid var(--accent-orange)}.panel.accent-cyan:focus-visible{outline:2px solid var(--accent-cyan)}.panel.accent-pink:focus-visible{outline:2px solid var(--accent-pink)}.panel.accent-blue:focus-visible{outline:2px solid var(--accent-blue)}.panel.accent-indigo:focus-visible{outline:2px solid var(--accent-indigo)}.panel.accent-magenta:focus-visible{outline:2px solid var(--accent-magenta)}.panel.accent-teal:focus-visible{outline:2px solid var(--accent-teal)}.sync-chip{color:inherit;font:inherit;padding:0 6px}.topbar-sync:hover .sync-chip{color:var(--accent-purple)}.topbar-sync{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.topbar-sync:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}.sync-chip.syncing{animation:1s infinite sync-pulse}.sync-chip.sync-error{color:var(--accent-red)}.sync-chip.sync-success{color:var(--accent-green)}@keyframes sync-pulse{0%,to{opacity:.6}50%{opacity:1}}.topbar-sync .icon{color:var(--accent-cyan);transition:color 1s ease-out}.topbar-sync:has(.sync-chip.syncing) .icon{animation:1.2s linear infinite cctally-icon-spin}.topbar-sync:has(.sync-chip.sync-success) .icon{color:var(--accent-green);transition:color}.topbar-sync:has(.sync-chip.sync-error) .icon{color:var(--accent-red);transition:color}@keyframes cctally-icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.topbar-sync:has(.sync-chip.syncing) .icon{animation:1s infinite sync-pulse}}.basket-chip{border:1px solid var(--border-muted,#334155);cursor:pointer;color:inherit;font:inherit;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;line-height:1;display:inline-flex}.basket-chip:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.basket-chip:hover{filter:brightness(1.15)}.basket-chip-icon{vertical-align:middle;display:inline-block}.basket-chip-count{color:#0f172a;background:#f59e0b;border-radius:9999px;justify-content:center;align-items:center;min-width:1.4em;height:1.4em;padding:0 4px;font-size:11px;font-weight:600;display:inline-flex}@keyframes basket-chip-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.basket-chip.basket-chip-pulse .basket-chip-count{animation:.32s ease-out basket-chip-pulse}@media (prefers-reduced-motion:reduce){.basket-chip.basket-chip-pulse .basket-chip-count{animation:none}}.kb-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.kb-btn:hover{filter:brightness(1.3)}.kb-btn:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px;border-radius:3px}#settings-root{z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#settings-root[hidden]{display:none}#settings-root .modal-card{z-index:1;min-width:360px;max-width:560px;position:relative}.settings-fs{border:1px solid var(--border-soft);margin:0 0 12px;padding:10px 14px}.settings-fs legend{color:var(--text-dim);letter-spacing:.3px;text-transform:uppercase;padding:0 6px;font-size:11px}.settings-fs label{cursor:pointer;padding:3px 0;display:block}.settings-fs input[type=text],.settings-fs input[type=number]{border:1px solid var(--border-soft);color:inherit;font:inherit;background:0 0;border-radius:4px;width:180px;padding:4px 8px}.settings-fs input[type=text]:focus,.settings-fs input[type=number]:focus{border-color:var(--accent-orange);outline:none;box-shadow:0 0 0 2px #fb923c40}.system-info{font-size:12px;font-family:var(--font-mono);color:var(--text-dim);margin:4px 0;padding:0;list-style:none}.settings-actions{gap:10px;margin-top:16px;display:flex}.settings-btn{background:var(--panel-bg);border:1px solid var(--border-soft);color:inherit;cursor:pointer;font:inherit;border-radius:4px;padding:6px 14px}.settings-btn:hover{border-color:var(--accent-orange)}.settings-btn:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}#settings-save{border-color:var(--accent-orange)}.settings-select{vertical-align:middle;padding:6px 8px}.toast{background:var(--panel-bg);border:1px solid var(--accent-amber);z-index:200;color:var(--text);font-size:12px;font-family:var(--font-mono);border-radius:4px;padding:8px 14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.panel.sessions-collapsed{max-height:480px}.panel.sessions-collapsed .panel-body{overflow:hidden auto}.panel.sessions-collapsed .sess-table thead th{background:var(--panel-bg);z-index:1;position:sticky;top:0}.panel-collapse-toggle{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.panel-collapse-toggle:hover{color:var(--text);background:#ffffff0a}.panel-collapse-toggle:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.panel-collapse-toggle .icon{width:16px;height:16px}.share-icon{cursor:pointer;color:var(--text-dim);background:0 0;border:0;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.share-icon:hover{color:var(--text);background:#ffffff0a}.share-icon:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.modal-header .share-icon{margin-left:auto}.pill-current{background:var(--pill-bg);color:inherit;letter-spacing:.5px;text-transform:uppercase;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.delta{font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:11px}.delta.up{color:var(--accent-red);background:#ef444424}.delta.down{color:var(--accent-green);background:#3ddc8424}.delta.flat{color:var(--text-faint);background:0 0}.model-stack{background:#ffffff0a;border-radius:999px;height:9px;margin-top:6px;display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.model-stack>span{height:100%;transition:width .28s cubic-bezier(.2,.8,.2,1);display:block}.model-stack>span.opus{background:var(--chip-opus)}.model-stack>span.sonnet{background:var(--chip-sonnet)}.model-stack>span.haiku{background:var(--chip-haiku)}.model-stack>span.other{background:var(--text-faint)}.panel-foot.period-foot .sep{color:var(--text-faint);margin:0 4px}.panel-foot.period-foot .total{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.period{padding:8px 0}.period+.period{border-top:1px solid #ffffff0a}.period .meta{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.period .meta .label{color:var(--text)}.period .meta .right{align-items:baseline;gap:8px;display:flex}.period .meta .cost{color:var(--text);font-weight:600}.detail-card{background:var(--panel-bg-2);border:1px solid #ffffff14;border-radius:8px;margin-bottom:14px;padding:14px 16px}.detail-card.accent-cyan{border-color:#22d3ee2e}.detail-card.accent-pink{border-color:#ec48992e}.detail-card.accent-indigo{border-color:#818cf82e}.detail-card .head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.detail-card .head .big{font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.detail-card .window{color:var(--text-faint);margin-bottom:12px;font-size:11px}.detail-card .model-stack{height:14px;margin:6px 0 10px}.detail-card .chips{flex-wrap:wrap;gap:6px;display:flex}.detail-card .chip{color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 8px;font-size:11px}.detail-card .chip.opus{background:var(--chip-opus)}.detail-card .chip.sonnet{background:var(--chip-sonnet)}.detail-card .chip.haiku{background:var(--chip-haiku)}.detail-card .chip.other{background:var(--text-faint);color:var(--text)}.tokens-row{border-top:1px solid #ffffff0d;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px;padding-top:10px;display:grid}.tokens-row .t{font-size:11px}.tokens-row .t .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px;font-size:9px;display:block}.tokens-row .t .v{color:var(--text);font-variant-numeric:tabular-nums}.detail-card .stats2{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;display:grid}.detail-card .stats2 .s{font-size:12px}.detail-card .stats2 .k{color:var(--text-dim);margin-right:6px}.detail-card .stats2 .v{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.history-table{border-collapse:collapse;width:100%;font-size:12px}.history-table thead th{color:var(--text-dim);text-align:left;background:var(--panel-bg);border-bottom:1px solid #ffffff1a;padding:6px 8px;font-weight:600;position:sticky;top:0}.history-table tbody td{font-variant-numeric:tabular-nums;border-bottom:1px solid #ffffff0a;padding:6px 8px}.history-table tbody td.num{text-align:right}.history-table tbody tr:hover td{cursor:pointer;background:#ffffff05}.history-table tbody tr.selected td{background:var(--panel-bg-2)}.history-table.accent-cyan tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-cyan)}.history-table.accent-pink tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--accent-pink)}.history-table tbody td.delta-up{color:var(--accent-red)}.history-table tbody td.delta-down{color:var(--accent-green)}.history-table .models-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.history-table .models-chips .chip{padding:0 6px;font-size:11px}.history-table .models-chips-more{color:var(--text-faint);font-size:11px}.panel-empty{text-align:center;color:var(--text-faint);padding:24px 0;font-size:12px}.panel.blocks-collapsed{max-height:480px}.panel.blocks-collapsed .panel-body{overflow:hidden auto}.blocks-row{cursor:pointer;border-bottom:1px dashed #ffffff0d;padding:8px 0;font-size:12px;transition:background 80ms}.blocks-row:last-child{border-bottom:0}.blocks-row:hover{background:#60a5fa0f}.blocks-row:focus-visible{box-shadow:inset 0 0 0 1px var(--accent-blue);background:#60a5fa0f;outline:none}.blocks-row .meta{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.blocks-row .label{color:var(--text);font-weight:600}.blocks-row .label .anchor-marker{color:var(--text-dim);margin-right:2px;font-weight:400}.blocks-row .cost{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.blocks-row .gauge-track{background:#ffffff0a;border-radius:4px;height:14px;overflow:hidden}.blocks-row .gauge-fill{height:100%;transition:width .28s ease-out;display:flex}.blocks-row .gauge-fill>span{height:100%;display:block}.blocks-row .gauge-fill .seg-opus{background:var(--accent-purple)}.blocks-row .gauge-fill .seg-sonnet{background:var(--accent-blue)}.blocks-row .gauge-fill .seg-haiku{background:var(--accent-green)}.blocks-row .gauge-fill .seg-other{background:var(--text-dim)}.blocks-row .pill-active{background:var(--pill-bg);color:var(--accent-amber);letter-spacing:.4px;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.panel.daily-collapsed{max-height:520px}.panel.daily-collapsed .panel-body{overflow:hidden auto}.daily-legend{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;display:flex}.daily-legend .scale{gap:3px;display:flex}.daily-legend .scale span{border-radius:3px;width:16px;height:10px;display:block}.daily-legend .scale .h0{background:#ffffff0d}.daily-legend .scale .h1{background:#60a5fa1a}.daily-legend .scale .h2{background:#60a5fa38}.daily-legend .scale .h3{background:#c084fc52}.daily-legend .scale .h4{background:#ec489966}.daily-legend .scale .h5{background:#fbbf2480}.daily-cal-grid{grid-template-columns:minmax(72px,auto) repeat(7,minmax(0,1fr));grid-auto-rows:64px;align-items:stretch;gap:8px;display:grid}.daily-week-label{border-right:1px solid var(--border-soft);flex-direction:column;justify-content:center;min-width:0;padding-right:8px;display:flex}.daily-week-label .wk{color:var(--text);font-size:12px;font-weight:700;font-family:var(--font-mono);letter-spacing:.5px;line-height:1.1}.daily-week-label .rng{color:var(--text-dim);font-size:10.5px;font-family:var(--font-mono);white-space:nowrap;margin-top:3px;line-height:1.1}.daily-cell{color:var(--text-dim);background-image:radial-gradient(120% 120% at 0 0,#ffffff12 0%,#0000 55%);border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;padding:6px 9px 7px;font-size:10px;display:flex;position:relative;overflow:hidden}.daily-cell .d{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;font-family:var(--font-mono);letter-spacing:.4px;align-self:flex-start;line-height:1}.daily-cell .c{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-family:var(--font-mono);letter-spacing:-.3px;align-self:center;margin-bottom:2px;font-weight:800;line-height:1}.daily-cell.is-today{outline:2px solid var(--accent-cyan);outline-offset:-2px}.daily-cell.h0{color:#ffffff4d;background-color:#ffffff05}.daily-cell.h0 .d{color:#fff6}.daily-cell.h0 .c{color:#ffffff59;font-weight:600}.daily-cell.h1{background-color:#60a5fa2e}.daily-cell.h2{background-color:#818cf84d}.daily-cell.h3{background-color:#c084fc61}.daily-cell.h4{background-color:#ec48996b}.daily-cell.h5{background-color:#fb923c8c;border-color:#fb923c8c}.daily-cell.h5 .c{color:#fff7e8}.daily-cell.h5 .d{color:#ffffffd9}@keyframes daily-fade-in{0%{opacity:0}to{opacity:1}}.daily-cell.first-mount{animation:.28s ease-out both daily-fade-in;animation-delay:var(--daily-stagger,0s)}.daily-month-continues{color:var(--text-faint);letter-spacing:.5px;text-transform:lowercase;font-size:11px;font-family:var(--font-mono);justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.daily-month-continues:before,.daily-month-continues:after{content:"";border-top:1px dashed #ffffff1a;flex:auto;min-width:12px}.daily-foot{border-top:1px solid var(--accent-line);grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;padding-top:14px;display:grid}.daily-foot-col{align-items:center;gap:14px;min-width:0;display:flex}.daily-foot-icon{flex-shrink:0;width:28px;height:28px}.daily-foot-icon.icon-total{color:var(--accent-indigo)}.daily-foot-icon.icon-peak{color:var(--accent-amber)}.daily-foot-text{flex-direction:column;min-width:0;display:flex}.daily-foot-text .lbl{color:var(--text-dim);letter-spacing:.3px;margin-bottom:2px;font-size:11px}.daily-foot-text .val{color:var(--text);font-size:18px;font-weight:800;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.3px;align-items:baseline;gap:8px;display:flex}.daily-foot-text .val .d{color:var(--text);font-size:14px;font-weight:700}.daily-foot-text .val .a{color:var(--accent-amber);font-size:18px;font-weight:800}.daily-modal-bars{background:#6366f10a;border:1px solid #6366f11f;border-radius:10px;padding:14px 16px}.daily-modal-bars-head{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:11px;display:flex}.daily-modal-bars-head .hint{color:var(--text-dim);text-transform:none;letter-spacing:0;font-size:10px}.daily-modal-bars-grid{grid-template-columns:repeat(30,minmax(6px,1fr));align-items:end;gap:3px;height:96px;display:grid}.daily-modal-bars-grid .bar{background:linear-gradient(to top, color-mix(in srgb, var(--accent-indigo) 70%, transparent), color-mix(in srgb, var(--accent-indigo) 90%, transparent));cursor:pointer;border:none;border-radius:3px 3px 0 0;min-width:6px;padding:0;transition:filter .15s,transform .15s}.daily-modal-bars-grid .bar:hover{filter:brightness(1.25);transform:translateY(-1px)}.daily-modal-bars-grid .bar:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px}.daily-modal-bars-grid .bar.zero{cursor:default;background:#ffffff0f}.daily-modal-bars-grid .bar.zero:hover{filter:none;transform:none}.daily-modal-bars-grid .bar.sel{background:linear-gradient(#fbbf24,#f59e0b);box-shadow:0 0 0 2px #fbbf2459}.daily-modal-bars-grid .bar.today{outline-offset:1px;outline:1px dashed #fbbf2473}.daily-modal-bars-axis{color:var(--text-dim,#6f7a8b);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.detail-card .tokens-row .t.cache .v{color:#fbbf24}.detail-card .tokens-row .t.cache .bar{background:#ffffff0f;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.detail-card .tokens-row .t.cache .bar .fill{background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:2px;height:100%}.daily-cell{cursor:pointer;font:inherit;color:inherit;text-align:left}.daily-cell:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:8px}.daily-foot-peak{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;padding:0}.daily-foot-peak:hover{filter:brightness(1.08)}.daily-foot-peak:focus-visible{outline:2px solid var(--accent-amber);outline-offset:2px;border-radius:6px}.panel-host{outline:none;flex-direction:column;min-width:0;display:flex;position:relative}.panel-host>.panel{flex:auto}.panel-host.is-dragging{z-index:10;cursor:grabbing}.panel-host.is-dragging>.panel{transition:box-shadow .12s;box-shadow:0 14px 40px #00000073}.panel-grip-hint{pointer-events:none;opacity:0;color:var(--text-dim);z-index:2;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-style:italic;transition:opacity .1s;position:absolute;bottom:6px;right:14px}.panel-host:hover .panel-grip-hint{opacity:.55}.panel-host:hover,.panel-host:hover>.panel{cursor:grab}.panel-host.is-dragging:hover,.panel-host.is-dragging:hover>.panel{cursor:grabbing}.panel-grip{width:24px;height:24px;font-family:var(--font-mono);letter-spacing:-1px;color:var(--text-dim);-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;border-radius:4px;justify-content:center;align-items:center;padding:4px;font-size:13px;display:inline-flex}.panel-host.is-dragging .panel-grip{cursor:grabbing}.panel-header>.panel-grip{margin-left:auto}@media (pointer:fine){.panel-grip{display:none}}.settings-fs.layout-fs .settings-btn{margin-top:6px}.onboarding-toast{background:var(--panel-bg);border:1px solid var(--accent-indigo,#818cf8);color:var(--text);z-index:1000;border-radius:6px;align-items:center;gap:10px;max-width:320px;padding:10px 12px;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 24px #00000059}.onboarding-toast-msg{flex:1;line-height:1.35}.onboarding-toast-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:0;padding:0 4px;font-size:18px;line-height:1}.onboarding-toast-dismiss:hover{color:var(--text)}@media (prefers-reduced-motion:reduce){.panel-host.is-dragging>.panel{transition:none}}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.th-sortable:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px}.th-sort-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin:0;padding:0;display:inline-flex}.th-caret{min-width:.7em;font-size:.85em;display:inline-block}.th-sortable.is-sorted .th-label{color:var(--th-accent,var(--accent-cyan));font-weight:700}.th-sortable.is-sorted .th-caret{color:var(--th-accent,var(--accent-cyan))}.settings-hint{color:var(--text-dim,#8a8a8a);margin:4px 0 0;font-size:12px}.panel.alerts-collapsed{max-height:360px}.panel.alerts-collapsed .panel-body{overflow:hidden auto}.toast.toast--alert{cursor:pointer;background:linear-gradient(180deg, var(--panel-bg) 0%, var(--panel-bg-2) 100%);border-radius:8px;width:360px;padding:14px 16px}.toast--severity-info{border:1px solid var(--accent-indigo);box-shadow:inset 0 0 28px #818cf80f,0 8px 24px #00000080}.toast--severity-warn{border:1px solid var(--accent-amber);box-shadow:inset 0 0 28px #fbbf240f,0 8px 24px #00000080}.toast--severity-critical{border:1px solid var(--accent-red);box-shadow:inset 0 0 28px #ef444412,0 8px 24px #00000080}.toast--alert-head{align-items:center;gap:8px;margin-bottom:10px;display:flex}.toast--alert-threshold{letter-spacing:-.5px;font-size:22px;font-weight:800;font-family:var(--font-mono)}.toast--severity-info .toast--alert-threshold{color:var(--accent-indigo)}.toast--severity-warn .toast--alert-threshold{color:var(--accent-amber)}.toast--severity-critical .toast--alert-threshold{color:var(--accent-red)}.toast--alert-dismiss-hint{color:var(--text-faint);margin-left:auto;font-size:11px}.toast--alert-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:700}.toast--alert-sub{color:var(--text-dim);margin-bottom:6px;font-size:12px}.toast--alert-body{color:var(--text);font-size:13px}.toast--alert-body .num{color:var(--accent-amber);font-weight:700}.toast--severity-info .toast--alert-body .num{color:var(--accent-indigo)}.toast--severity-critical .toast--alert-body .num{color:var(--accent-red)}.chip{letter-spacing:1px;font-size:10px;font-weight:800;font-family:var(--font-mono);border-radius:3px;padding:2px 7px}.chip--weekly{color:var(--accent-purple);background:#c084fc29}.chip--five_hour{color:var(--accent-cyan);background:#22d3ee29}.chip--budget{color:var(--accent-green);background:#3ddc8429}.chip--projected{color:var(--accent-indigo);background:#818cf829}.chip--project_budget{color:var(--accent-teal);background:#2dd4bf29}.chip--codex_budget{color:var(--accent-orange);background:#fb923c29}.alert-row{border-bottom:1px solid var(--border-soft);align-items:baseline;gap:14px;padding:8px 0;display:flex}.alert-row:last-child{border-bottom:none}.alert-threshold{letter-spacing:-.5px;font-size:18px;font-weight:800;font-family:var(--font-mono);text-align:right;width:50px}.alert-threshold.info{color:var(--text-dim)}.alert-threshold.warn{color:var(--accent-amber)}.alert-threshold.critical{color:var(--accent-red)}.alert-when{color:var(--text-dim);flex:1;font-size:12px}.alerts-empty{color:var(--text-faint);text-align:center;padding:32px 0;font-size:13px}.share-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.share-modal{z-index:1;background:var(--panel-bg);border:2px solid var(--accent-blue);border-radius:8px;flex-direction:column;width:min(960px,94vw);max-height:90vh;font-family:inherit;display:flex;position:relative;overflow:hidden}.share-modal-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;padding:12px 56px 12px 18px;display:flex}.share-modal-header h2{margin:0;font-size:17px;font-weight:500}.share-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:12px;right:18px}.share-modal-close:hover{color:var(--accent-red)}.share-modal-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:14px;padding:14px 18px;display:flex;overflow:auto}.share-section{flex-direction:column;gap:10px;display:flex}.share-main-section{flex-direction:row;gap:18px}.share-knobs-col{flex:0 0 280px;min-width:0}.share-preview-col{flex-direction:column;flex:1 1 0;min-width:0;min-height:320px;display:flex}.share-gallery{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.share-gallery-error{color:var(--accent-red);border:1px solid var(--accent-red);border-radius:4px;padding:10px;font-size:13px}.share-tile{background:var(--panel-bg-2);border:1px solid var(--border-soft);text-align:left;color:inherit;cursor:pointer;border-radius:6px;flex-direction:column;gap:4px;min-height:70px;padding:12px;font-family:inherit;display:flex}.share-tile:hover:not([disabled]):not(.share-tile-selected){border-color:var(--text-dim)}.share-tile-selected{border-color:var(--accent-blue);outline:1px solid var(--accent-blue)}.share-tile-disabled{opacity:.45;cursor:not-allowed}.share-tile-label{font-size:14px;font-weight:600}.share-tile-desc{color:var(--text-dim);font-size:12px;line-height:1.3}.share-tile-skeleton{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;min-height:70px;padding:12px}.share-tile-skeleton-bar{background:var(--border-soft);border-radius:3px;height:14px;margin-bottom:8px}.share-tile-skeleton-bar.short{width:60%;height:10px}.share-knobs{flex-direction:column;gap:10px;display:flex}.share-knob{flex-direction:column;gap:4px;display:flex}.share-knob>label,.share-knob>.share-knob-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.02em;font-size:12px}.share-knob input[type=number],.share-knob input[type=date],.share-knob select{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px}.share-knob input[type=number]:focus,.share-knob input[type=date]:focus,.share-knob select:focus{outline:1px solid var(--accent-blue)}.share-knob-radiogroup{gap:12px;display:flex}.share-knob-radio,.share-knob-checkbox{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-knob-period-custom{gap:8px;margin-top:4px;display:flex}.share-knob-sublabel{color:var(--text-dim);flex-direction:column;gap:2px;font-size:11px;display:flex}.share-knob-allowlist-stub{background:var(--panel-bg-2);border:1px dashed var(--border-soft);color:var(--text-dim);text-align:left;cursor:not-allowed;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:12px}.share-preview{background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:4px;flex:1;min-height:280px;padding:12px;font-size:13px;overflow:auto}.share-preview-iframe{border:1px solid var(--border-soft);background:#fff;flex:1;width:100%;min-height:280px;padding:0}.share-preview-md{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.share-preview-empty,.share-preview-loading{color:var(--text-dim);justify-content:center;align-items:center;display:flex}.share-preview-error{border-color:var(--accent-red);color:var(--accent-red);background:#ef444414}.share-preview-error-title{margin-bottom:6px;font-weight:600}.share-preview-error-message{font-size:12px}.share-preview-error-field{color:var(--text-dim)}.share-modal-footer{border-top:1px solid var(--border-soft);background:var(--panel-bg);padding:12px 18px}.share-actions{flex-direction:column;gap:10px;display:flex}.share-format-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.share-format-label{color:var(--text-dim);text-transform:uppercase;font-size:12px}.share-format-radio{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.share-save-preset-row{justify-content:flex-end;display:flex}.share-save-preset{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text-dim);cursor:not-allowed;border-radius:4px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:12px}.share-action-row{flex-wrap:wrap;gap:8px;display:flex}.share-action{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:inherit;cursor:pointer;border-radius:4px;padding:8px 14px;font-family:inherit;font-size:13px}.share-action:hover:not([disabled]){border-color:var(--accent-blue)}.share-action[disabled],.share-action-disabled{opacity:.45;cursor:not-allowed}.share-action-copy:not([disabled]){border-color:var(--accent-green)}.share-action-download:not([disabled]){border-color:var(--accent-blue)}.share-action-open:not([disabled]){border-color:var(--accent-cyan)}.share-action-png:not([disabled]){border-color:var(--accent-purple)}.share-action-print:not([disabled]){border-color:var(--accent-amber)}.share-action-error{color:var(--accent-red);margin-top:6px;font-size:12px}.composer-modal{z-index:210;background:var(--panel-bg);flex-direction:column;font-family:inherit;display:flex;position:fixed;inset:0}.composer-modal:before{content:"";z-index:-1;background:#0000008c;position:absolute;inset:0}.composer-modal-header{border-bottom:1px solid var(--border-soft);background:var(--panel-bg);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.composer-modal-header h2{margin:0;font-size:17px;font-weight:500}.composer-modal-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.composer-modal-close:hover{color:var(--accent-red)}.composer-empty-message{color:var(--text-dim);padding:18px}.composer-knobs{background:var(--panel-bg);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;gap:12px;padding:10px 18px;font-size:13px;display:flex}.composer-knobs label{align-items:center;gap:6px;display:inline-flex}.composer-anon-banner{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:8px 18px;font-size:13px;display:flex}.composer-anon-banner button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:2px 8px;font-size:12px}.composer-anon-banner button:hover{background:#0000001a}.composer-body{flex:1;grid-template-columns:minmax(220px,320px) 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:hidden}.composer-section-list{margin:0;padding:0;list-style:none;overflow-y:auto}.composer-section-row{border:1px solid var(--border-soft);background:var(--panel-bg-2,var(--panel-bg));border-radius:6px;align-items:center;gap:8px;margin-bottom:6px;padding:8px;display:flex;position:relative}.composer-section-label{flex:1;min-width:0}.composer-drag-handle{touch-action:none;cursor:grab;color:var(--text-dim,#64748b);background:0 0;border:none;padding:4px 6px;font-size:14px}.composer-drag-handle:active{cursor:grabbing}.composer-section-actions{position:relative}.composer-section-menu{background:var(--panel-bg);border:1px solid var(--border-soft);z-index:10;border-radius:4px;min-width:180px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000059}.composer-section-menu li{padding:0}.composer-section-menu button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:13px}.composer-section-menu button:hover{background:var(--border-soft)}.composer-outdated-badge{background:var(--accent-yellow,#fbbf24);color:var(--bg-elevated,#0f172a);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.composer-preview{border:1px solid var(--border-soft);background:#fff;width:100%;height:100%;min-height:0}.composer-busy,.composer-error{color:var(--text-dim);padding:6px 18px;font-size:12px}.composer-error{color:var(--accent-red)}.composer-actions{border-top:1px solid var(--border-soft);background:var(--panel-bg);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 18px;display:flex}.composer-export-row{flex-wrap:wrap;gap:8px;display:flex}.composer-clear-all{margin-left:auto}@media (prefers-reduced-motion:reduce){.share-overlay,.share-modal,.composer-modal,.share-manage-modal,.share-presets-menu,.share-savepreset-popover{transition:none!important;animation:none!important}}@media (width<=640px){:root{--mobile-vh:100dvh}body{padding:8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right))}input,textarea,select{font-size:16px}.footer{display:none}.topbar{z-index:50;padding:6px 10px;padding-top:max(6px, env(safe-area-inset-top));flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;position:sticky;top:0}.topbar .stat[data-mobile-keep=secondary]{display:none}.topbar .stat[data-stat=brand]{flex:none;order:0;min-width:0}.topbar .stat[data-stat=week]{flex:0 auto;order:1;min-width:0}.topbar .stat[data-stat=used]{flex:0 auto;order:2;min-width:0}.topbar .stat[data-stat=dollar-per-pct]{flex:0 auto;order:3;min-width:0}.topbar .stat[data-stat=forecast]{display:none}.topbar:after{content:"";flex-basis:100%;order:4;height:0}.topbar .topbar-actions{order:5;gap:4px;width:100%;margin-left:0}.topbar .topbar-actions .doctor-chip{margin-right:auto}.topbar .topbar-brand .brand-name,.topbar .topbar-brand .brand-version{display:none}.topbar .topbar-brand{gap:0!important}.topbar .stat[data-stat=week] .v{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .stat[data-stat=week] .k,.topbar .stat .mute[data-mobile-keep=secondary]{display:none}.topbar .pill-warn{padding:1px 6px;font-size:10px}.topbar-actions>.topbar-icon-btn{display:inline-flex}.topbar-icon-btn{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:44px;height:44px;color:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-icon-btn .icon{width:20px;height:20px}.topbar-icon-btn:active{background:var(--panel-bg)}.topbar-sync{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.topbar-sync .icon{flex-shrink:0;width:20px;height:20px}.topbar-sync .sync-chip{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#modal-root{justify-content:stretch;align-items:flex-end}.modal-backdrop{background:#000000b3}.modal-card{max-height:calc(100dvh - max(32px, env(safe-area-inset-top)));height:calc(100dvh - max(32px, env(safe-area-inset-top)));padding-bottom:env(safe-area-inset-bottom);border-width:1px 1px medium;border-bottom-style:none;border-bottom-color:currentColor;border-radius:14px 14px 0 0;animation:.18s ease-out cctally-sheet-up;width:100%!important}@keyframes cctally-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.modal-card{animation:none}}.modal-handle{background:var(--text-faint);border-radius:2px;flex-shrink:0;width:36px;height:4px;margin:8px auto 4px}.modal-header{background:var(--panel-bg);z-index:1;padding:8px 14px 10px;position:sticky;top:0}.modal-header h2{font-size:17px;font-weight:600}.modal-close{justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:inline-flex}.modal-body{scrollbar-gutter:auto;padding:12px 14px}.history-table{width:100%}.history-table thead{display:none}.history-table tbody,.history-table tr{width:100%;display:block}.history-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.history-table tr.selected{background:#ffffff06;border-left:2px solid;padding-left:8px}.history-table tbody td{border:none;padding:0}.history-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-weight:600;overflow:hidden}.history-table td:nth-child(2){flex:100%;order:3;margin-top:2px}.history-table td.num:nth-child(3){flex:none;order:2;margin-left:auto;font-weight:700}.history-table--weekly td.num:nth-child(4),.history-table--weekly td.num:nth-child(5){display:none}.history-table td.num:last-child{flex:none;order:4;margin-left:auto;font-size:12px}.detail-card .head{flex-direction:column;align-items:flex-start;gap:4px}.detail-card .stats2,.detail-card .tokens-row{grid-template-columns:1fr 1fr}.detail-card .chips{flex-wrap:wrap}.m-hero.cols-2,.m-hero.cols-3,.m-hero.cols-4{grid-template-columns:1fr;gap:10px}.m-histable#mtr-table{width:100%}.m-histable#mtr-table thead{display:none}.m-histable#mtr-table tbody,.m-histable#mtr-table tr{width:100%;display:block}.m-histable#mtr-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mtr-table td{border:none;padding:0}.m-histable#mtr-table td:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.m-histable#mtr-table td:nth-child(4){flex:none;order:2;margin-left:auto;font-weight:700}.m-histable#mtr-table td:nth-child(2){color:var(--text-dim);flex:50%;order:3;font-size:12px}.m-histable#mtr-table td:nth-child(3){color:var(--text-dim);flex:50%;order:4;font-size:12px}.m-histable#mcw-table{width:100%}.m-histable#mcw-table thead{display:none}.m-histable#mcw-table tbody,.m-histable#mcw-table tr{width:100%;display:block}.m-histable#mcw-table tr{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.m-histable#mcw-table td{border:none;padding:0}.m-histable#mcw-table td:first-child{flex:none;order:1;font-weight:600}.m-histable#mcw-table td:nth-child(3){text-align:right;flex:auto;order:2;margin-left:auto;font-weight:700}.m-histable#mcw-table td:nth-child(2),.m-histable#mcw-table td:nth-child(4),.m-histable#mcw-table td:nth-child(5){color:var(--text-dim);flex:none;order:3;font-size:12px}.m-histable#mcw-table td:nth-child(4):after{content:" · ";color:var(--text-faint)}.m-histable#mcw-table td:nth-child(2){flex-basis:100%;margin-top:2px}.alerts-table{width:100%}.alerts-table thead{display:none}.alerts-table tbody,.alerts-table tr{width:100%;display:block}.alerts-table tr.alert-modal-row{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:8px 4px;display:flex}.alerts-table td{border:none;padding:0}.alerts-table td:first-child{flex:none;order:1;font-weight:700}.alerts-table td:nth-child(2){flex:none;order:2}.alerts-table td:nth-child(3){text-align:right;flex:auto;order:3;margin-left:auto;font-weight:700}.alerts-table td:nth-child(4){color:var(--text-dim);flex:100%;order:4;margin-top:2px;font-size:12px}.alerts-table td:nth-child(5){color:var(--text-faint);flex:100%;order:5;font-size:11px}#panel-sessions>.sessions-ctrls{border-bottom:1px solid var(--border-soft);flex-direction:row;align-items:center;gap:8px;padding:6px 12px 8px;display:flex}#panel-sessions>.sessions-ctrls .search-container{flex:auto;align-items:stretch;gap:4px;min-width:0;min-height:36px;display:flex}#panel-sessions>.sessions-ctrls .search-container .ctrl-input{flex:auto;width:auto;min-width:0}#panel-sessions>.sessions-ctrls .search-container .ctrl-btn{width:32px;min-width:32px;height:36px;min-height:36px;padding:0}#panel-sessions>.sessions-ctrls>.ctrl-btn{flex:none;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;display:inline-flex}#panel-sessions>.sessions-ctrls #sort-pill .label{display:none}.sess-table{width:100%}.sess-table thead{display:none}.sess-table tbody,.sess-table tr{width:100%;display:block}.sess-table tr.session-row{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}.sess-table tbody td{white-space:normal;border:none;padding:0}.sess-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}.sess-table td.num{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}.sess-table tbody td.started{color:var(--text-dim);flex:none;order:3;margin-top:2px;font-size:12px}.sess-table td:nth-child(2){color:var(--text-dim);flex:none;order:4;font-size:12px}.sess-table td:nth-child(3){flex:none;order:5;align-items:center;display:inline-flex}.sess-table td.started:after,.sess-table td:nth-child(2):after{content:" · ";color:var(--text-faint)}.sess-table tr.session-row.search-match{background:#22d3ee12}.daily-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.daily-week-label{display:none}#help-overlay{align-items:flex-end;padding:0}#help-overlay .help-card{width:100%;min-width:0;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:16px 14px;padding-top:max(16px, env(safe-area-inset-top));padding-bottom:max(16px, env(safe-area-inset-bottom));border-radius:14px 14px 0 0;overflow-y:auto}#help-overlay .help-gesture-list{margin:0 0 14px;padding:0;list-style:none}#help-overlay .help-gesture-list li{border-bottom:1px solid var(--border-soft);padding:10px 0;font-size:14px}#help-overlay .help-keyboard-disclosure summary{cursor:pointer;color:var(--accent-blue);padding:10px 0;font-size:13px}#help-overlay .help-keyboard-disclosure[open] summary{color:var(--text)}#settings-root .modal-card{min-width:0}.modal-card .settings-fs{min-width:0;width:100%!important}.modal-card .settings-actions{background:var(--panel-bg);border-top:1px solid var(--border-soft);padding:10px 14px;padding-bottom:max(10px, env(safe-area-inset-bottom));flex-wrap:wrap;gap:8px;margin:14px -14px -12px;display:flex;position:sticky;bottom:0}.modal-card .settings-btn{flex:auto;min-height:44px}.panel-grip-hint{display:none!important}.chip,kbd{min-height:24px;padding:2px 8px}.model-chip{min-height:28px;padding:4px 10px}.ctrl-btn,.panel-collapse-toggle,.share-icon{min-width:44px;min-height:44px}:root{--topbar-h:104px}#settings-root{align-items:flex-end}.mcw-pbar .ticks .tick:after{content:none}.chip.model-chip{position:relative}.chip.model-chip:before{content:"";position:absolute;inset:-8px 0}.share-overlay{justify-content:stretch;align-items:stretch}.share-modal{border-left:none;border-right:none;border-radius:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh}.share-modal-body{padding:12px 14px}.share-main-section{flex-direction:column}.share-knobs-col{flex:none}.share-gallery{grid-template-columns:1fr}.share-action{flex:auto;min-height:44px}.share-format-row{gap:8px}.share-save-preset{margin-left:0}.composer-modal-mobile .composer-knobs{flex-wrap:wrap;gap:8px}.composer-modal-mobile .composer-body{grid-template-rows:auto 1fr;grid-template-columns:1fr;gap:10px;padding:10px}.composer-modal-mobile .composer-section-list{flex-direction:row;max-height:none;padding-bottom:8px;display:flex;overflow:auto hidden}.composer-modal-mobile .composer-section-row{flex:none;min-width:180px;margin-bottom:0;margin-right:6px}.composer-modal-mobile .composer-actions{background:var(--panel-bg);position:sticky;bottom:0}}.projects-body{flex-direction:column;gap:6px;padding:4px 0;display:flex}.projects-row{cursor:pointer;border-radius:4px;grid-template-columns:110px 1fr 56px 44px;align-items:center;gap:8px;padding:4px 6px;font-size:12.5px;display:grid}.projects-row:hover{background:#d946ef0f}.projects-row.tail{cursor:default}.projects-row.tail:hover{background:0 0}.projects-row:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:-2px}.projects-row .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.projects-row .name.muted,.projects-row .cost.muted,.projects-row .pct.muted{color:var(--text-dim)}.projects-row .lb-bar{background:#d946ef1f;border-radius:3px;height:10px;position:relative;overflow:hidden}.projects-row .lb-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:3px;position:absolute;inset:0 auto 0 0}.projects-row .lb-bar.muted:after{background:var(--text-dim);opacity:.6}.projects-row .cost{color:var(--accent-green);text-align:right}.projects-row .pct{color:var(--accent-cyan);text-align:right}@media (width<=640px){#root .projects-row{grid-template-columns:90px 1fr 50px 36px;padding:4px}}.project-cell-link{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.project-cell-link:hover{color:var(--accent-magenta)}.project-cell-link:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-body{padding:4px 0}.projects-controls{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;display:flex}.projects-controls .pill{border:1px solid var(--border-soft);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:11.5px}.projects-controls .pill.on{border-color:var(--accent-magenta);color:#f5d0fe;background:#d946ef2e}.projects-controls .sep{color:var(--text-dim);margin:0 4px}.projects-notice{color:var(--text-dim);padding:6px 2px 0;font-size:11.5px}.projects-trend{margin:8px 0}.projects-trend svg{border-bottom:1px solid var(--border-soft);width:100%;height:150px;display:block}.projects-trend-xaxis{color:var(--text-dim);justify-content:space-between;padding:4px 2px 0;font-size:10.5px;display:flex}.projects-trend-legend{flex-wrap:wrap;gap:12px;padding:8px 2px 4px;font-size:11.5px;display:flex}.projects-trend-legend .sw{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.projects-table{border-collapse:collapse;width:100%;margin-top:6px;font-size:12.5px}.projects-table th,.projects-table td{text-align:right;padding:6px 8px}.projects-table th:first-child,.projects-table td:first-child{text-align:left}.projects-table thead th{color:var(--accent-amber);font-weight:700}.projects-table tbody td.project{color:var(--accent-blue)}.projects-table tbody td.started{color:var(--accent-cyan)}.projects-table tbody td.cost-low{color:var(--accent-green)}.projects-table tbody td.cost-mid{color:var(--accent-amber)}.projects-table tbody td.cost-high{color:var(--accent-red)}.projects-table tbody td.cost-xs{color:var(--accent-green)}.projects-table tbody tr{cursor:pointer}.projects-table tbody tr:hover{background:#d946ef0f}.projects-table tbody tr.selected{background:#d946ef24;outline:1px solid #d946ef80}.projects-table-toggle{border:1px dashed var(--border-soft);color:var(--text-dim);font:inherit;cursor:pointer;text-align:center;background:0 0;border-radius:6px;width:100%;margin:6px 0 0;padding:6px 12px;font-size:12px;display:block}.projects-table-toggle:hover{color:var(--accent-magenta);border-color:var(--accent-magenta);background:#d946ef0a}.projects-table-toggle:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}.projects-modal-footer-hint{border-top:1px solid var(--border-soft);color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-top:14px;padding-top:10px;font-size:12px;display:flex}.projects-modal-footer-hint .sep{color:var(--border-soft)}.projects-modal-footer-hint kbd{border:1px solid var(--border-soft);color:var(--text-dim);background:#ffffff0a;border-radius:3px;margin:0 1px;padding:1px 4px;font-family:inherit;font-size:11px}.projects-modal-footer-hint .sync-chip{background:0 0;margin-left:auto;padding:0;font-size:12px}.projects-drill{border:1px dashed var(--border-soft);background:#d946ef0a;border-radius:8px;margin-top:14px;padding:12px 14px}.projects-drill-head .title{color:#f5d0fe;font-size:13px;font-weight:700}.projects-drill-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:8px;display:grid}.projects-drill .section-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11.5px}.projects-drill .muted{color:var(--text-dim);font-size:12px}.drill-bar-row{grid-template-columns:110px 1fr 60px;align-items:center;gap:6px;margin:3px 0;font-size:12px;display:grid}.drill-bar{background:#d946ef1a;border-radius:2px;height:8px;position:relative}.drill-bar:after{content:"";width:var(--w,0%);background:var(--accent-magenta);border-radius:2px;position:absolute;inset:0 auto 0 0}.drill-bar-row .cost{text-align:right}.drill-bar-row .cost.cost-xs,.drill-bar-row .cost.cost-low,.drill-session-row .cost.cost-xs,.drill-session-row .cost.cost-low{color:var(--accent-green)}.drill-bar-row .cost.cost-mid,.drill-session-row .cost.cost-mid{color:var(--accent-amber)}.drill-bar-row .cost.cost-high,.drill-session-row .cost.cost-high{color:var(--accent-red)}.drill-session-row{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;padding:4px 0;display:grid}.drill-session-row .started{color:var(--accent-cyan)}.drill-session-row:hover{color:var(--accent-magenta)}.drill-session-row+.drill-session-row{border-top:1px solid var(--border-soft)}.drill-session-row .cost{text-align:right}.drill-session-footer{justify-content:space-between;align-items:baseline;gap:12px;padding-top:6px;font-size:12px;display:flex}.drill-session-footer .muted{font-size:12px}.drill-show-in-sessions{font:inherit;color:var(--accent-cyan);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0}.drill-show-in-sessions:hover{color:var(--accent-magenta)}@media (width<=640px){#root .projects-drill-grid{grid-template-columns:1fr;gap:12px}#root .projects-trend svg{width:100%;height:110px}#root .projects-trend-legend{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-right:24px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 28px),#0000 100%)}#root .projects-trend-legend .projects-trend-legend-item{scroll-snap-align:start;flex-shrink:0;align-items:center;min-height:36px;display:inline-flex}#root .projects-trend-legend button.projects-trend-legend-item{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0 4px}#root .projects-table thead{display:none}#root .projects-table tbody,#root .projects-table tr{width:100%;display:block}#root .projects-table tbody tr{border-bottom:1px solid var(--border-soft);cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:8px 6px;display:flex}#root .projects-table tbody td{white-space:normal;border:none;padding:0}#root .projects-table td.project{text-overflow:ellipsis;white-space:nowrap;flex:auto;order:1;min-width:0;font-weight:600;overflow:hidden}#root .projects-table td.cost-xs,#root .projects-table td.cost-low,#root .projects-table td.cost-mid,#root .projects-table td.cost-high{text-align:right;flex:none;order:2;margin-left:auto;font-weight:700}#root .projects-table td:nth-child(2),#root .projects-table td:nth-child(6),#root .projects-table td:nth-child(7),#root .projects-table td.started{color:var(--text-dim);flex:none;margin-top:2px;font-size:12px}#root .projects-table td:nth-child(2){order:3}#root .projects-table td:nth-child(6){order:4}#root .projects-table td:nth-child(7){order:5}#root .projects-table td.first-seen{order:6}#root .projects-table td.last-seen{order:7}#root .projects-table td:nth-child(2):after,#root .projects-table td:nth-child(6):after,#root .projects-table td:nth-child(7):after{content:" · ";color:var(--text-faint)}#root .projects-table td.first-seen:after{content:" → ";color:var(--text-faint)}#root .projects-table tbody tr.selected{background:#d946ef0f}#root .projects-table tr.projects-drill-row{cursor:default;border-bottom:1px solid var(--border-soft);background:#d946ef08;padding:8px 6px}#root .projects-table tr.projects-drill-row td{width:100%;display:block}#root .projects-mobile-sort{min-height:32px;color:var(--text);border:1px solid var(--border-soft);font:inherit;cursor:pointer;background:0 0;border-radius:14px;align-items:center;margin:4px 0 6px;padding:6px 12px;font-size:12.5px;display:inline-flex}#root .projects-mobile-sort:hover{background:#d946ef0f}#root .projects-mobile-sort:focus-visible{outline:2px solid var(--accent-magenta);outline-offset:2px}}.cr-status-row{align-items:center;gap:10px;margin-bottom:6px;display:flex}.cr-panel-header-inner{align-items:center;gap:10px;display:flex}.cr-glyph{font-size:20px;line-height:1}.cr-glyph.ok{color:var(--accent-green)}.cr-glyph.warn{color:var(--accent-amber)}.cr-glyph.thin{color:var(--text-dim)}.cr-headline{color:var(--text);font-size:13.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.cr-headline .delta-good{color:var(--accent-green)}.cr-headline .delta-bad{color:var(--accent-amber)}.cr-subline{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:4px}.cr-subline .ok{color:var(--accent-green)}.cr-subline .warn{color:var(--accent-amber)}.cr-spark{margin-top:10px;display:block}.cr-netbars-mini-wrap{flex:auto;min-height:60px;margin-top:6px;display:flex}.cr-netbars-mini{width:100%;height:100%;display:block}@media (width<=640px){.panel.cache-report-collapsed .cr-spark,.panel.cache-report-collapsed .cr-netbars-mini-wrap,.panel.cache-report-collapsed .cr-subline.second{display:none}}.crm-header{border-bottom:1px solid #2dd4bf47}.crm-spotlight{background:linear-gradient(#2dd4bf0a,#0000);border:1px solid #2dd4bf47;border-radius:8px;margin-bottom:18px;padding:14px 16px}.crm-spotlight.anom{background:linear-gradient(#fbbf2412,#0000);border-color:#fbbf2452}.crm-spotlight-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.crm-spotlight .pill{color:var(--accent-amber);text-transform:uppercase;letter-spacing:.06em;background:#fbbf242e;border:1px solid #fbbf245c;border-radius:4px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.crm-spotlight .pill.ok{color:var(--accent-green);background:#3ddc842e;border-color:#3ddc845c}.crm-spotlight .pill.thin{color:var(--text-dim);background:#ffffff0d;border-color:#ffffff1a}.crm-spotlight .k{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;font-size:11px}.crm-spotlight strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.crm-spotlight .reasons{color:var(--text-dim);font-size:11px;font-family:var(--font-mono);margin-top:8px}.crm-spotlight .reasons code{color:var(--accent-amber);background:0 0;padding:0}.crm-section{margin-bottom:18px}.crm-section .crm-section-head{text-transform:uppercase;letter-spacing:.06em;align-items:baseline;gap:10px;margin-bottom:8px;font-size:11px;font-weight:700;display:flex}.crm-section .meta{color:var(--text-faint);text-transform:none;letter-spacing:0;margin-left:auto;font-size:11px;font-weight:400}.crm-sh-spotlight{color:var(--accent-teal)}.crm-sh-timeline{color:var(--accent-cyan)}.crm-sh-net{color:var(--accent-purple)}.crm-sh-table{color:var(--accent-teal)}.crm-sh-projects{color:var(--accent-magenta)}.crm-sh-models{color:var(--accent-blue)}.crm-chart-frame{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:6px;padding:10px 12px}.crm-chart-frame.timeline{border-color:#22d3ee38}.crm-chart-frame.netbars{border-color:#c084fc38}.cr-spark-wrap{flex-direction:column;width:100%;display:flex}.cr-spark-wrap .cr-spark{flex:none;width:100%;height:auto;display:block}.cr-spark-axis{color:var(--text-dim);font-family:var(--font-mono);flex:none;padding-left:4px;font-size:10px;line-height:1.2}.crm-counterfactual{color:var(--text-dim);font-size:12.5px;font-family:var(--font-mono);background:#3ddc840d;border:1px solid #3ddc8438;border-radius:8px;margin-top:14px;margin-bottom:18px;padding:10px 14px}.crm-counterfactual strong{color:var(--accent-green);font-size:14px;font-weight:700}.ch-table{border-collapse:collapse;width:100%;font-size:12.5px;font-family:var(--font-mono)}.ch-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-soft);padding:4px 12px 8px 0;font-size:10.5px;font-weight:700}.ch-table thead th.num{text-align:right}.ch-table thead th.c-date{color:var(--text)}.ch-table thead th.c-hit{color:var(--accent-cyan)}.ch-table thead th.c-tokens{color:var(--text-dim)}.ch-table thead th.c-saved{color:var(--accent-green)}.ch-table thead th.c-wasted{color:var(--accent-red)}.ch-table thead th.c-net{color:var(--accent-purple)}.ch-table thead th.c-flag{color:var(--accent-amber)}.ch-table tbody td{font-variant-numeric:tabular-nums;padding:5px 12px 5px 0}.ch-table tbody td.num{text-align:right}.ch-table tbody tr.cur{background:#fbbf2412}.ch-table tbody tr.cur td:first-child{border-left:2px solid var(--accent-amber);padding-left:8px}.ch-table tbody td.hit-good{color:var(--accent-cyan)}.ch-table tbody td.hit-bad{color:var(--accent-amber)}.ch-table tbody td.net-pos{color:var(--accent-green)}.ch-table tbody td.net-neg,.ch-table tbody td.flag-warn{color:var(--accent-amber)}.ch-table tbody td.flag-ok{color:var(--text-faint)}.ch-table tbody tr:hover td{background:#ffffff05}.crm-breakdowns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.crm-bd-card{background:var(--panel-bg);border:1px solid var(--border-soft);border-radius:8px;padding:12px 14px}.crm-bd-card.bd-projects{border-color:#d946ef3d}.crm-bd-card.bd-models{border-color:#60a5fa3d}.crm-bd-card .crm-bd-head{text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:10.5px;font-weight:700}.crm-bd-card.bd-projects .crm-bd-head{color:var(--accent-magenta)}.crm-bd-card.bd-models .crm-bd-head{color:var(--accent-blue)}.crm-bd-card table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--font-mono)}.crm-bd-card td{font-variant-numeric:tabular-nums;padding:3px 0}.crm-bd-card td+td{padding-left:10px}.crm-bd-card td:last-child{text-align:right}.crm-bd-card td.net-pos{color:var(--accent-green)}.crm-bd-card td.net-neg{color:var(--accent-amber)}.crm-bd-card td.bd-key{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;overflow:hidden}.crm-bd-card .empty{color:var(--text-dim);font-size:11px;font-style:italic}.crm-settings-popover{background:var(--panel-bg);border:1px solid var(--accent-teal);z-index:100;border-radius:8px;width:280px;padding:14px 16px;position:absolute;top:48px;right:16px;box-shadow:0 8px 24px #00000080}.crm-settings-popover h4{color:var(--accent-teal);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:11px}.crm-settings-popover label{color:var(--text-dim);margin-bottom:6px;font-size:11px;display:block}.crm-settings-popover input{background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);box-sizing:border-box;border-radius:4px;padding:6px 8px;font-size:13px}.crm-settings-popover input.invalid{border-color:var(--accent-red)}.crm-settings-popover .err{color:var(--accent-red);margin-top:6px;font-size:11px}.crm-settings-popover .saved{color:var(--accent-green);margin-top:6px;font-size:11px}.crm-settings-popover .actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.crm-settings-popover button{background:var(--panel-bg-2);border:1px solid var(--border-soft);color:var(--text);cursor:pointer;font-family:var(--font-mono);border-radius:4px;padding:4px 12px;font-size:12px}.crm-settings-popover button.primary{border-color:var(--accent-teal);color:var(--accent-teal);background:#2dd4bf2e}@media (width<=899px){.crm-breakdowns{grid-template-columns:1fr}}@media (width<=719px){.ch-table thead{display:none}.ch-table tbody,.ch-table tr{padding:0;display:block}.ch-table tr{border-bottom:1px solid var(--border-soft);padding:8px 0}.ch-table tbody td{padding:2px 6px 2px 0;display:inline-block}.ch-table tbody td:first-child{margin-bottom:4px;font-weight:700;display:block}.crm-settings-popover{border-radius:8px 8px 0 0;width:auto;position:fixed;inset:auto 0 0}}.view-switcher{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;align-items:center;gap:2px;padding:2px;display:inline-flex}.view-seg{appearance:none;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:12.5px;font-weight:600}.view-seg:hover{color:var(--text)}.view-seg.is-active{background:var(--panel-bg);color:var(--accent-blue);box-shadow:inset 0 0 0 1px var(--accent-blue)}.view-seg:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.sess-open-conv{appearance:none;color:var(--text-faint);cursor:pointer;vertical-align:middle;background:0 0;border:none;margin-right:6px;padding:0;line-height:0}.sess-open-conv .icon{width:13px;height:13px}.sess-open-conv:hover{color:var(--accent-blue)}.sess-open-conv:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px;border-radius:3px}.conv-view{--reader-ink:#ece9e3;--reader-faint:#a0a7b8;height:calc(100vh - var(--topbar-h) - 28px);grid-template-columns:minmax(280px,340px) 1fr;gap:12px;margin-bottom:16px;display:grid;overflow:hidden}.conv-rail{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.conv-rail-search{border-bottom:1px solid var(--border-soft);flex:none;padding:10px}.conv-rail-search-input{box-sizing:border-box;background:var(--panel-bg-2);border:1px solid var(--border-soft);width:100%;color:var(--text);font-family:var(--font-mono);border-radius:5px;padding:6px 10px;font-size:12.5px}.conv-rail-search-input::placeholder{color:var(--text-faint)}.conv-rail-search-input:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-list{flex:auto;min-height:0;padding:6px;overflow-y:auto}.conv-rail-empty,.conv-rail-hint{color:var(--text-dim);padding:10px;font-size:12px}.conv-rail-hint{color:var(--text-faint);font-style:italic}.conv-rail-row{text-align:left;appearance:none;width:100%;color:var(--text);font-family:var(--font-mono);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;margin-bottom:4px;padding:8px 9px;display:block}.conv-rail-row:hover{background:var(--panel-bg-2)}.conv-rail-row:focus-visible{border-color:var(--accent-blue);outline:none}.conv-rail-row.is-active{background:var(--panel-bg-2);border-color:var(--accent-blue)}.conv-rail-sec{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding:12px 8px 4px;font-size:10px}.conv-rail-row-title{font-family:var(--font-prose);color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:5px;font-size:14.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.conv-rail-row-project{color:var(--text-dim);font-weight:400}.conv-rail-row-branch,.conv-rail-row-when{color:var(--text-faint);white-space:nowrap;font-size:11px}.conv-rail-row-meta{color:var(--text-dim);flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:11px;display:flex}.conv-rail-row-cost{color:var(--accent-green)}.conv-rail-row-snippet{color:var(--text-dim);margin-top:4px;font-size:11.5px;line-height:1.4;overflow:hidden}.conv-rail-more{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:100%;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-top:4px;padding:6px;font-size:12px;display:block}.conv-rail-more:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader{border:1px solid var(--border-soft);background:var(--panel-bg);border-radius:6px;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.conv-new-pill{z-index:5;appearance:none;border:1px solid var(--accent-blue);background:var(--accent-blue);color:#08111f;font-family:var(--font-mono);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:11.5px;font-weight:700;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0006}.conv-new-pill:hover{filter:brightness(1.08)}.conv-jump-top{z-index:5;appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg-2);width:34px;height:34px;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 4px 14px #0006}.conv-jump-top:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader--empty,.conv-reader--loading,.conv-reader--error{justify-content:center;align-items:center}.conv-state{text-align:center;max-width:360px;padding:24px}.conv-state-glyph{opacity:.55;margin-bottom:12px;line-height:0;display:block}.conv-state-glyph .conv-ico{vertical-align:0;width:30px;height:30px}.conv-reader--loading .conv-state-glyph .conv-ico{transform-origin:50%;animation:.8s linear infinite conv-spin}@keyframes conv-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.conv-reader--loading .conv-state-glyph .conv-ico{animation:none}}.conv-state-title{font-family:var(--font-prose);color:var(--text);font-size:17px}.conv-state-hint{font-family:var(--font-mono);color:var(--text-dim);margin-top:6px;font-size:11.5px}.conv-reader--error .conv-state-title{color:var(--accent-red)}.conv-reader-head{border-bottom:1px solid var(--border-soft);background:var(--panel-bg-2);flex:none;padding:12px 16px}.conv-reader-title{font-family:var(--font-prose);color:var(--text);font-size:16px;font-weight:600}.conv-reader-meta{color:var(--text-dim);margin-top:3px;font-size:11.5px}.conv-back{appearance:none;border:1px solid var(--border-soft);background:var(--panel-bg);color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;border-radius:5px;margin-bottom:8px;padding:4px 10px;font-size:12px}.conv-back:hover{color:var(--text);border-color:var(--accent-blue)}.conv-reader-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:14px 16px;display:flex;overflow-y:auto}.conv-reader-thread{flex-direction:column;gap:12px;padding-left:22px;display:flex;position:relative}.conv-reader-thread:before{content:"";background:var(--border-soft);width:2px;position:absolute;top:4px;bottom:4px;left:8px}.conv-reader-thread>.conv-item--human:before,.conv-reader-thread>.conv-item--assistant:before{content:"";width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:16px;left:-17px}.conv-reader-thread>.conv-item--human:before{background:var(--accent-blue)}.conv-reader-thread>.conv-item--assistant:before{background:var(--accent-purple)}.conv-item{border-radius:8px;padding:10px 14px;scroll-margin-top:12px;position:relative}.conv-item--human{border:1px solid var(--border-soft);border-left:3px solid var(--accent-blue);background:#60a5fa0d}.conv-item--assistant{background:0 0;border:none;padding-left:0}.conv-item--tool_result{background:0 0;padding:0}.conv-item-head{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.conv-item-label{font-family:var(--font-mono);letter-spacing:.4px;text-transform:uppercase;color:var(--reader-faint);font-size:11.5px;font-weight:700}.conv-item--assistant .conv-item-label{color:var(--accent-purple)}.conv-item--human .conv-item-label{color:var(--accent-blue)}.conv-item-cost{border-top:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);text-align:right;margin-top:10px;padding-top:8px;font-size:10.5px;font-weight:600}.conv-item--system{background:0 0;border:none;padding:0}.conv-system-marker{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-system-marker>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-system-marker>summary::-webkit-details-marker{display:none}.conv-system-marker[open]>summary{color:var(--text-dim)}.conv-system-marker[open]>summary .conv-chev{transform:rotate(45deg)}.conv-system-marker-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-item--meta{background:0 0;border:none;padding:0}.conv-meta{border:1px dashed var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-meta>summary{cursor:pointer;font-family:var(--font-mono);color:var(--reader-faint);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:3px 10px;font-size:10.5px;list-style:none;display:flex}.conv-meta>summary::-webkit-details-marker{display:none}.conv-meta[open]>summary{color:var(--text-dim)}.conv-meta[open]>summary .conv-chev{transform:rotate(45deg)}.conv-meta-label{letter-spacing:.3px;text-transform:uppercase;font-weight:700}.conv-meta-name{color:var(--text-dim)}.conv-meta-preview{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.conv-meta--skill{border-color:color-mix(in srgb, var(--accent-cyan) 35%, var(--border-soft))}.conv-meta--skill>summary,.conv-meta--skill[open]>summary{color:var(--accent-cyan)}.conv-meta-body{border-top:1px solid var(--border-soft);padding:8px 10px}.conv-meta-body--pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text-dim);margin:0;font-size:11.5px;overflow-x:auto}.conv-rise{animation:.5s cubic-bezier(.2,.7,.3,1) both conv-rise}@keyframes conv-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.conv-rise{animation:none}}.conv-item--jumped{animation:2s ease-out conv-jump-flash}@keyframes conv-jump-flash{0%{box-shadow:0 0 0 2px var(--accent-amber), 0 0 26px #fbbf2440;background:#fbbf241a}to{background:0 0;box-shadow:0 0 #0000}}@media (prefers-reduced-motion:reduce){.conv-item--jumped{animation:none}}.conv-item--focused{box-shadow:-3px 0 0 0 var(--accent-blue);border-radius:2px}.conv-reader-thread--bulk ::details-content{transition:none!important}.conv-reader{interpolate-size:allow-keywords}.conv-chip::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-sidechain::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-toolresult-run::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-system-marker::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-meta::details-content{block-size:0;transition:block-size .24s ease, content-visibility .24s allow-discrete;overflow:hidden}.conv-chip[open]::details-content{block-size:auto}.conv-sidechain[open]::details-content{block-size:auto}.conv-toolresult-run[open]::details-content{block-size:auto}.conv-system-marker[open]::details-content{block-size:auto}.conv-meta[open]::details-content{block-size:auto}.conv-sidechain--force::details-content{transition:none}@media (prefers-reduced-motion:reduce){.conv-reader .conv-chev{transition:none}.conv-reader ::details-content{transition:none}}.conv-ico{vertical-align:-2px;flex:none;width:14px;height:14px;display:inline-block}.conv-blocks{flex-direction:column;gap:6px;margin-top:8px;display:flex}.conv-chip{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px;font-size:12px}.conv-chip>summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;list-style:none;display:flex}.conv-chip>summary::-webkit-details-marker{display:none}.conv-chip[open]>summary{color:var(--text)}.conv-chip--thinking>summary{color:var(--accent-indigo)}.conv-chip--tool>summary{color:var(--accent-cyan)}.conv-chip--result>summary{color:var(--accent-teal)}.conv-chev{opacity:.7;border-bottom:1.6px solid;border-right:1.6px solid;flex:none;width:8px;height:8px;transition:transform .2s;transform:rotate(-45deg)}.conv-chip[open]>summary .conv-chev,.conv-toolresult-run[open]>summary .conv-chev{transform:rotate(45deg)}.conv-chip-name{flex:none;font-weight:600}.conv-chip-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-faint);flex:1;font-size:11.5px;overflow:hidden}.conv-chip-status{color:var(--text-faint);flex:none;font-size:11px}.conv-chip--result .conv-chip-status,.conv-chip--tool .conv-chip-status{color:var(--accent-amber)}.conv-chip-body{border-top:1px solid var(--border-soft);white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);color:var(--text);margin:0;padding:8px 10px;font-size:11.5px;overflow-x:auto}.conv-chip-body--io{white-space:normal;padding:6px 10px 10px}.conv-chip--media,.conv-chip--ref{color:var(--text-dim);background:var(--panel-bg-2);padding:4px 10px;display:inline-block}.conv-toolrun{flex-direction:column;gap:6px;display:flex}.conv-toolrun-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:9px;margin:6px 0 2px;font-size:10.5px;display:flex}.conv-toolrun-head:after{content:"";background:var(--border-soft);flex:1;height:1px}.conv-tool-io{margin-top:6px}.conv-tool-io:first-child{margin-top:0}.conv-tool-io-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:9.5px}.conv-tool-io-label--none{font-style:italic}.conv-code{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow-x:auto}.conv-code--result{color:var(--text-dim);max-height:220px;overflow:auto}.conv-code--numbered{font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border-soft);border-radius:6px;grid-template-columns:auto 1fr;max-height:220px;font-size:11.5px;line-height:1.5;display:grid;overflow:auto}.cb-gutter{white-space:pre;text-align:right;color:var(--text-faint);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--border-soft);background:var(--bg);padding:8px 8px 8px 10px;position:sticky;left:0}.conv-code--numbered>pre.conv-code{white-space:pre;word-break:normal;overflow-wrap:normal;background:0 0;border:0;border-radius:0;margin:0;padding:8px 10px 8px 8px;overflow:visible}.codeblock{border:1px solid var(--border-soft);background:var(--bg);border-radius:8px;margin:12px 0;overflow:hidden}.cb-head{background:var(--panel-bg-2);border-bottom:1px solid var(--border-soft);font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:8px;padding:6px 10px;font-size:10.5px;display:flex}.cb-lang{text-transform:uppercase;letter-spacing:.1em}.cb-file{color:var(--text-faint)}.cb-copy{margin-left:auto}.codeblock>pre.conv-code{border:0;border-radius:0;margin:0}.conv-code--hl .token.keyword{color:var(--accent-purple)}.conv-code--hl .token.string{color:var(--accent-green)}.conv-code--hl .token.number,.conv-code--hl .token.boolean{color:var(--accent-amber)}.conv-code--hl .token.comment{color:var(--text-faint);font-style:italic}.conv-code--hl .token.function,.conv-code--hl .token.property,.conv-code--hl .token.tag,.conv-code--hl .token.attr-name{color:var(--accent-cyan)}.conv-code--hl .token.operator,.conv-code--hl .token.punctuation{color:var(--text-dim)}.conv-copy-btn{cursor:pointer;color:var(--text-faint);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;padding:2px 4px;line-height:0;display:inline-grid}.conv-copy-btn:hover{color:var(--text);border-color:var(--border-soft);background:var(--panel-bg-2)}.conv-copy-btn:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.conv-tool-io{position:relative}.conv-tool-io>.conv-copy-btn{z-index:1;position:absolute;top:2px;right:2px}.conv-item-actions{opacity:0;justify-content:flex-end;gap:4px;margin-top:6px;transition:opacity .15s;display:flex}.conv-item:hover .conv-item-actions,.conv-item:focus-within .conv-item-actions,.conv-item--focused .conv-item-actions{opacity:1}@media (prefers-reduced-motion:reduce){.conv-item-actions{transition:none}}.conv-chip-permalink{opacity:0;margin-left:auto;transition:opacity .15s}.conv-item:hover .conv-chip-permalink,.conv-item:focus-within .conv-chip-permalink,.conv-item--focused .conv-chip-permalink{opacity:1}@media (prefers-reduced-motion:reduce){.conv-chip-permalink{transition:none}}.conv-toolresult-run{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:6px}.conv-toolresult-run>summary{cursor:pointer;color:var(--accent-teal);-webkit-user-select:none;user-select:none;font-family:var(--font-mono);align-items:center;gap:8px;padding:5px 10px;font-size:12px;list-style:none;display:flex}.conv-toolresult-run>summary::-webkit-details-marker{display:none}.conv-toolresult-run-body{flex-direction:column;gap:8px;padding:6px 12px 10px;display:flex}.conv-sidechain{background:linear-gradient(#d946ef0d,#0000 42%);border:1px solid #d946ef38;border-radius:10px;position:relative}.conv-reader-thread>.conv-sidechain:before{content:"";background:var(--accent-magenta);width:9px;height:9px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:18px;left:-17px}.conv-reader-thread>.conv-sidechain--nested:before{display:none}.conv-sidechain-head{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:11px 14px;list-style:none;display:flex}.conv-sidechain-head::-webkit-details-marker{display:none}.conv-sidechain-head:hover{background:#d946ef0a}.conv-sidechain-glyph{width:26px;height:26px;color:var(--accent-magenta);background:#d946ef1a;border:1px solid #d946ef4d;border-radius:7px;flex:none;place-items:center;font-size:14px;display:grid}.conv-sidechain-glyph .conv-ico{vertical-align:0;width:16px;height:16px}.conv-sidechain-headtext{flex:auto;min-width:0}.conv-sidechain-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-magenta);font-size:9.5px;display:block}.conv-sidechain-title{font-family:var(--font-prose);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;line-height:1.3;display:block;overflow:hidden}.conv-sidechain-meta{font-family:var(--font-mono);color:var(--text-dim);flex:none;align-items:center;gap:9px;font-size:10.5px;display:flex}.conv-sidechain-cost{color:var(--accent-green)}.conv-sidechain-kindname{text-transform:none;letter-spacing:0;color:var(--accent-magenta)}.conv-sidechain-submeta{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:10.5px;display:block}.conv-sidechain-submeta>span{margin-right:9px}.conv-subagent-ok{color:var(--accent-green)}.conv-subagent-err{color:var(--accent-red,#f87171)}.conv-subagent-warn{color:var(--accent-amber,#fbbf24)}.conv-sidechain[open]>summary .conv-chev{transform:rotate(45deg)}.conv-sidechain-body{flex-direction:column;gap:10px;padding:6px 14px 12px 30px;display:flex;position:relative}.conv-sidechain-body:before{content:"";background:#d946ef29;width:2px;position:absolute;top:8px;bottom:12px;left:14px}.conv-sidechain-body>.conv-item--human:before,.conv-sidechain-body>.conv-item--assistant:before{content:"";width:7px;height:7px;box-shadow:0 0 0 3px var(--panel-bg);border-radius:50%;position:absolute;top:14px;left:-13px}.conv-sidechain-body>.conv-item--human:before{background:var(--accent-blue)}.conv-sidechain-body>.conv-item--assistant:before{background:var(--accent-purple)}.conv-sidechain--nested{margin-left:20px}.md{font-family:var(--font-prose);color:var(--reader-ink);word-break:break-word;font-size:16.5px;line-height:1.62}.conv-item--human .md{font-size:15.5px}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:4px 0 8px;padding-left:22px}.md li{margin:2px 0}.md h1,.md h2,.md h3,.md h4{color:var(--reader-ink);margin:16px 0 6px;font-weight:600;line-height:1.25}.md h1{font-size:22px}.md h2{font-size:20px}.md h3{font-size:17.5px}.md h4{font-size:15.5px}.md a{color:var(--accent-blue);text-underline-offset:2px;text-decoration:underline}.md code{font-family:var(--font-mono);background:var(--panel-bg-2);border-radius:3px;padding:1px 4px;font-size:12px}.md strong,.md b{font-weight:600}.md pre{font-family:var(--font-mono);background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:6px;margin:6px 0 8px;padding:10px 12px;overflow-x:auto}.md pre code{background:0 0;padding:0;font-size:12px;line-height:1.45}.md blockquote{border-left:3px solid var(--border-soft);color:var(--text-dim);margin:6px 0;padding:2px 12px}.md table{border-collapse:collapse;max-inline-size:100%;margin:8px 0;font-size:13.5px;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--border-soft);text-align:left;padding:4px 8px}.md th{background:var(--panel-bg-2)}.md del{color:var(--text-faint)}.md img{max-width:100%}.conv-view mark{background:var(--accent-amber);color:#1a1400;border-radius:2px;padding:0 2px}.conv-load-sentinel{text-align:center;color:var(--text-faint);padding:12px;font-size:11px}.conv-disabled{border:1px solid var(--accent-amber);background:var(--panel-bg);color:var(--text-dim);border-radius:6px;margin-bottom:16px;padding:18px 22px;font-size:13px;line-height:1.6}.conv-disabled code{font-family:var(--font-mono);background:var(--panel-bg-2);color:var(--accent-cyan);border-radius:3px;padding:1px 6px}@media (width<=640px){#root .conv-view,#root .conv-view--mobile{height:calc(100vh - var(--topbar-h) - 16px);grid-template-columns:1fr;gap:0;margin-bottom:12px;overflow:hidden}#root .conv-rail,#root .conv-reader{border:1px solid var(--border-soft);border-radius:6px;min-height:0;overflow:hidden}#root .conv-reader-body{gap:10px;padding:10px 12px}#root .conv-reader-thread{gap:10px;padding-left:0}#root .conv-reader-thread:before,#root .conv-reader-thread>.conv-item--human:before,#root .conv-reader-thread>.conv-item--assistant:before,#root .conv-reader-thread>.conv-sidechain:before{display:none}#root .conv-item{border-radius:7px;padding:8px 11px}#root .view-switcher{gap:2px;padding:2px}#root .view-seg{padding:4px 10px;font-size:12px}}.conv-ask{border-left:2px solid var(--accent-cyan)}.conv-ask-eyebrow{color:var(--accent-cyan)}.conv-ask-count{color:var(--text-faint);font-size:11px}.conv-ask-body{padding:4px 12px 12px}.conv-ask-q{padding:11px 0}.conv-ask-q+.conv-ask-q{border-top:1px dashed var(--border-soft)}.conv-ask-qhead{align-items:center;gap:8px;margin-bottom:6px;display:flex}.conv-ask-tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);background:var(--panel-bg-2);border:1px solid var(--border-soft);border-radius:4px;padding:2px 7px;font-size:10px}.conv-ask-ms{font-family:var(--font-mono);color:var(--text-faint);font-size:10px}.conv-ask-qtext{font-family:var(--font-prose);margin:0 0 10px;font-size:16px;font-weight:600}.conv-ask-opts{flex-direction:column;gap:7px;display:flex}.conv-ask-opt{border:1px solid var(--border-soft);background:var(--panel-bg-2);border-radius:8px;padding:9px 11px}.conv-ask-opt-label{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.conv-ask-opt-desc{color:var(--text-dim);margin-top:3px;font-size:12.5px;line-height:1.45}.conv-ask-opt-preview{font-family:var(--font-mono);border:1px solid var(--border-soft);background:#07080c;border-radius:6px;margin:6px 0 0;padding:7px 9px;font-size:11.5px;overflow-x:auto}.conv-ask-opt--chosen{border-color:#3ddc848c;border-left:3px solid var(--accent-green);background:#3ddc8412}.conv-ask-opt--chosen .conv-ask-opt-label{color:#eafff1}.conv-ask-opt--chosen .conv-ico{color:var(--accent-green)}.conv-ask-pick{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent-green);margin-left:auto;font-size:10px}.conv-ask-custom{border:1px solid #3ddc8480;border-left:3px solid var(--accent-green);background:#3ddc8414;border-radius:8px;margin-top:8px;padding:9px 11px;font-size:14px}.conv-ask-note{color:var(--text-dim);margin-top:6px;font-size:12px;font-style:italic}.conv-ask-copy,.conv-plan-copy{justify-content:flex-end;display:flex}.conv-todo{border-left:2px solid var(--accent-cyan)}.conv-todo-summary{align-items:center;gap:8px;display:flex}.conv-todo-preview{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.conv-todo-minibar{background:#ffffff14;border-radius:3px;flex:none;width:60px;height:5px;margin-left:auto;overflow:hidden}.conv-todo-minibar>i{background:var(--accent-green);height:100%;display:block}.conv-todo-frac{color:var(--accent-amber);font-family:var(--font-mono);flex:none;font-size:11.5px}.conv-todo-body{padding:6px 12px 10px}.conv-todo-head{align-items:center;gap:8px;display:flex}.conv-todo-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-cyan);font-size:11px}.conv-todo-bar{background:#ffffff14;border-radius:4px;height:6px;margin:8px 0;overflow:hidden}.conv-todo-bar>i{background:var(--accent-green);height:100%;display:block}.conv-todo-items{margin:0;padding:0;list-style:none}.conv-todo-item{border-radius:6px;align-items:flex-start;gap:9px;padding:5px 6px;font-size:14px;display:flex}.conv-todo-item .conv-ico{margin-top:1px}.conv-todo-ring{border:2px solid var(--text-faint);border-radius:50%;flex:none;width:14px;height:14px;margin-top:1px}.conv-todo-ring--cur{border-color:var(--accent-amber);border-bottom-color:#0000;border-right-color:#0000}.conv-todo-item--done .conv-ico{color:var(--accent-green)}.conv-todo-item--done .conv-todo-text{color:var(--text-faint);text-decoration:line-through}.conv-todo-item--todo .conv-todo-text{color:var(--text-dim)}.conv-todo-item--cur{background:#fbbf240f}.conv-todo-item--cur .conv-todo-text{color:#fbe9b8}.conv-todo-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-amber);border:1px solid #fbbf2466;border-radius:4px;align-self:center;padding:1px 5px;font-size:9.5px}.conv-plan{border-left:2px solid var(--accent-purple)}.conv-plan-eyebrow{color:var(--accent-purple)}.conv-plan-badge{font-family:var(--font-mono);letter-spacing:.04em;border-radius:5px;align-items:center;gap:5px;margin-left:auto;padding:2px 8px;font-size:10px;display:inline-flex}.conv-plan-badge .conv-ico{width:12px;height:12px}.conv-plan-badge--ok{color:#eafff1;background:#3ddc8429;border:1px solid #3ddc8480}.conv-plan-badge--no{color:#ffe7e7;background:#ef444424;border:1px solid #ef444480}.conv-plan-badge--neutral{color:var(--text-dim);background:var(--panel-bg-2);border:1px solid var(--border-soft)}.conv-plan-body{padding:4px 0 0}.conv-plan-md{padding:4px 14px 10px}.conv-plan-md--clamp{max-height:230px;position:relative;overflow:hidden}.conv-plan-md--clamp:after{content:"";background:linear-gradient(180deg, transparent, var(--panel-bg));height:60px;position:absolute;bottom:0;left:0;right:0}.conv-plan-more{border-top:1px solid var(--border-soft)}.conv-plan-more button{all:unset;cursor:pointer;text-align:center;width:100%;font-family:var(--font-mono);color:var(--accent-purple);padding:8px 0;font-size:11px}.conv-plan-more button:hover{background:#c084fc0f}.conv-plan-trunc{font-family:var(--font-mono);color:var(--text-faint);padding:6px 14px 10px;font-size:10.5px}
@@ -4,8 +4,8 @@
4
4
  <meta charset="utf-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
6
  <title>cctally dashboard</title>
7
- <script type="module" crossorigin src="/static/assets/index-CXakskUV.js"></script>
8
- <link rel="stylesheet" crossorigin href="/static/assets/index-Q7C0vruA.css">
7
+ <script type="module" crossorigin src="/static/assets/index-BTGcbDcB.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/static/assets/index-a_BOAOJ_.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cctally",
3
- "version": "1.35.0",
3
+ "version": "1.37.0",
4
4
  "description": "Claude Code usage tracker and local dashboard for Pro/Max subscription limits - weekly cost-per-percent trend, quota forecasts, threshold alerts. ccusage-compatible.",
5
5
  "homepage": "https://github.com/omrikais/cctally",
6
6
  "repository": {